From e751ab465bbbf1365ec6e108c64dafd03ce42f1d Mon Sep 17 00:00:00 2001
From: Dan Goodliffe <dan@randomdan.homeip.net>
Date: Sun, 23 Apr 2023 21:46:21 +0100
Subject: Pop and complete instanced shadow support

---
 gfx/gl/shaders/shadowDynamicPointInst.vs | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 gfx/gl/shaders/shadowDynamicPointInst.vs

(limited to 'gfx/gl/shaders')

diff --git a/gfx/gl/shaders/shadowDynamicPointInst.vs b/gfx/gl/shaders/shadowDynamicPointInst.vs
new file mode 100644
index 0000000..eb7313a
--- /dev/null
+++ b/gfx/gl/shaders/shadowDynamicPointInst.vs
@@ -0,0 +1,13 @@
+#version 330 core
+
+include(`meshIn.glsl')
+layout(location = 5) in mat4 model;
+
+uniform mat4 viewProjection;
+
+void
+main()
+{
+	gl_Position = viewProjection * model * vec4(position, 1.0);
+	gl_Position.z = max(gl_Position.z, -1);
+}
-- 
cgit v1.2.3


From ac0e30371f3cbddde990179711997acac507a09c Mon Sep 17 00:00:00 2001
From: Dan Goodliffe <dan@randomdan.homeip.net>
Date: Mon, 24 Apr 2023 19:56:07 +0100
Subject: Point shaders can all share the same implementation now in a single
 place

They all just get `model` from a different place
---
 gfx/gl/shaders/commonPoint.glsl    | 13 +++++++++++++
 gfx/gl/shaders/dynamicPoint.vs     | 14 +-------------
 gfx/gl/shaders/dynamicPointInst.vs | 16 ++--------------
 gfx/gl/shaders/fixedPoint.vs       | 13 ++-----------
 4 files changed, 18 insertions(+), 38 deletions(-)
 create mode 100644 gfx/gl/shaders/commonPoint.glsl

(limited to 'gfx/gl/shaders')

diff --git a/gfx/gl/shaders/commonPoint.glsl b/gfx/gl/shaders/commonPoint.glsl
new file mode 100644
index 0000000..ecf5fc9
--- /dev/null
+++ b/gfx/gl/shaders/commonPoint.glsl
@@ -0,0 +1,13 @@
+void
+main()
+{
+	vec4 worldPos = model * vec4(position, 1.0);
+
+	FragPos = worldPos.xyz;
+	TexCoords = texCoord;
+	Normal = (model * vec4(normal, 0.0)).xyz;
+	Colour = colour;
+	Material = material;
+
+	gl_Position = viewProjection * worldPos;
+}
diff --git a/gfx/gl/shaders/dynamicPoint.vs b/gfx/gl/shaders/dynamicPoint.vs
index e1701ed..ffa8275 100644
--- a/gfx/gl/shaders/dynamicPoint.vs
+++ b/gfx/gl/shaders/dynamicPoint.vs
@@ -6,16 +6,4 @@ include(`materialInterface.glsl')
 uniform mat4 viewProjection;
 uniform mat4 model;
 
-void
-main()
-{
-	vec4 worldPos = model * vec4(position, 1.0);
-
-	FragPos = worldPos.xyz;
-	TexCoords = texCoord;
-	Normal = (model * vec4(normal, 0.0)).xyz;
-	Colour = colour;
-	Material = material;
-
-	gl_Position = viewProjection * worldPos;
-}
+include(`commonPoint.glsl')
diff --git a/gfx/gl/shaders/dynamicPointInst.vs b/gfx/gl/shaders/dynamicPointInst.vs
index 1c66979..e4c8526 100644
--- a/gfx/gl/shaders/dynamicPointInst.vs
+++ b/gfx/gl/shaders/dynamicPointInst.vs
@@ -1,21 +1,9 @@
 #version 330 core
 
 include(`meshIn.glsl')
-layout(location = 5) in mat4 model;
 include(`materialInterface.glsl')
 
 uniform mat4 viewProjection;
+layout(location = 5) in mat4 model;
 
-void
-main()
-{
-	vec4 worldPos = model * vec4(position, 1.0);
-
-	FragPos = worldPos.xyz;
-	TexCoords = texCoord;
-	Normal = (model * vec4(normal, 0.0)).xyz;
-	Colour = colour;
-	Material = material;
-
-	gl_Position = viewProjection * worldPos;
-}
+include(`commonPoint.glsl')
diff --git a/gfx/gl/shaders/fixedPoint.vs b/gfx/gl/shaders/fixedPoint.vs
index 0cc8153..6f517ca 100644
--- a/gfx/gl/shaders/fixedPoint.vs
+++ b/gfx/gl/shaders/fixedPoint.vs
@@ -4,15 +4,6 @@ include(`meshIn.glsl')
 include(`materialInterface.glsl')
 
 uniform mat4 viewProjection;
+const mat4 model = mat4(1);
 
-void
-main()
-{
-	FragPos = position;
-	TexCoords = texCoord;
-	Normal = normal;
-	Colour = colour;
-	Material = material;
-
-	gl_Position = viewProjection * vec4(position, 1.0);
-}
+include(`commonPoint.glsl')
-- 
cgit v1.2.3


From 553f738d55e1492f11ee7f150758963344ac79d4 Mon Sep 17 00:00:00 2001
From: Dan Goodliffe <dan@randomdan.homeip.net>
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

(limited to 'gfx/gl/shaders')

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