From 553f738d55e1492f11ee7f150758963344ac79d4 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Mon, 24 Apr 2023 19:56:07 +0100 Subject: Point shaders (shadows) can all share the same implementation now in a single place They all just get `model` from a different place --- gfx/gl/shaders/commonShadowPoint.glsl | 6 ++++++ gfx/gl/shaders/shadowDynamicPoint.vs | 7 +------ gfx/gl/shaders/shadowDynamicPointInst.vs | 9 ++------- gfx/gl/shaders/shadowFixedPoint.vs | 8 ++------ 4 files changed, 11 insertions(+), 19 deletions(-) create mode 100644 gfx/gl/shaders/commonShadowPoint.glsl diff --git a/gfx/gl/shaders/commonShadowPoint.glsl b/gfx/gl/shaders/commonShadowPoint.glsl new file mode 100644 index 0000000..c7cbd3e --- /dev/null +++ b/gfx/gl/shaders/commonShadowPoint.glsl @@ -0,0 +1,6 @@ +void +main() +{ + gl_Position = viewProjection * model * vec4(position, 1.0); + gl_Position.z = max(gl_Position.z, -1); +} diff --git a/gfx/gl/shaders/shadowDynamicPoint.vs b/gfx/gl/shaders/shadowDynamicPoint.vs index 531d8de..f3ed533 100644 --- a/gfx/gl/shaders/shadowDynamicPoint.vs +++ b/gfx/gl/shaders/shadowDynamicPoint.vs @@ -5,9 +5,4 @@ include(`meshIn.glsl') uniform mat4 viewProjection; uniform mat4 model; -void -main() -{ - gl_Position = viewProjection * model * vec4(position, 1.0); - gl_Position.z = max(gl_Position.z, -1); -} +include(`commonShadowPoint.glsl') diff --git a/gfx/gl/shaders/shadowDynamicPointInst.vs b/gfx/gl/shaders/shadowDynamicPointInst.vs index eb7313a..1bf74ef 100644 --- a/gfx/gl/shaders/shadowDynamicPointInst.vs +++ b/gfx/gl/shaders/shadowDynamicPointInst.vs @@ -1,13 +1,8 @@ #version 330 core include(`meshIn.glsl') -layout(location = 5) in mat4 model; uniform mat4 viewProjection; +layout(location = 5) in mat4 model; -void -main() -{ - gl_Position = viewProjection * model * vec4(position, 1.0); - gl_Position.z = max(gl_Position.z, -1); -} +include(`commonShadowPoint.glsl') diff --git a/gfx/gl/shaders/shadowFixedPoint.vs b/gfx/gl/shaders/shadowFixedPoint.vs index c9fa19b..8921707 100644 --- a/gfx/gl/shaders/shadowFixedPoint.vs +++ b/gfx/gl/shaders/shadowFixedPoint.vs @@ -3,10 +3,6 @@ include(`meshIn.glsl') uniform mat4 viewProjection; +const mat4 model = mat4(1); -void -main() -{ - gl_Position = viewProjection * vec4(position, 1.0); - gl_Position.z = max(gl_Position.z, -1); -} +include(`commonShadowPoint.glsl') -- cgit v1.2.3