summaryrefslogtreecommitdiff
path: root/archived/projt-launcher/launcher/resources/shaders
diff options
context:
space:
mode:
Diffstat (limited to 'archived/projt-launcher/launcher/resources/shaders')
-rw-r--r--archived/projt-launcher/launcher/resources/shaders/fshader.glsl20
-rw-r--r--archived/projt-launcher/launcher/resources/shaders/shaders.qrc7
-rw-r--r--archived/projt-launcher/launcher/resources/shaders/vshader_skin_background.glsl11
-rw-r--r--archived/projt-launcher/launcher/resources/shaders/vshader_skin_model.glsl37
4 files changed, 75 insertions, 0 deletions
diff --git a/archived/projt-launcher/launcher/resources/shaders/fshader.glsl b/archived/projt-launcher/launcher/resources/shaders/fshader.glsl
new file mode 100644
index 0000000000..d6a93db5d9
--- /dev/null
+++ b/archived/projt-launcher/launcher/resources/shaders/fshader.glsl
@@ -0,0 +1,20 @@
+// Copyright (C) 2024 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+// https://code.qt.io/cgit/qt/qtbase.git/tree/examples/opengl/cube/fshader.glsl
+#ifdef GL_ES
+// Set default precision to medium
+precision mediump int;
+precision mediump float;
+#endif
+
+uniform sampler2D texture;
+
+varying vec2 v_texcoord;
+
+void main()
+{
+ // Set fragment color from texture
+ vec4 texColor = texture2D(texture, v_texcoord);
+ if (texColor.a < 0.1) discard; // Optional: Discard fully transparent pixels
+ gl_FragColor = texColor;
+}
diff --git a/archived/projt-launcher/launcher/resources/shaders/shaders.qrc b/archived/projt-launcher/launcher/resources/shaders/shaders.qrc
new file mode 100644
index 0000000000..6667e8b61a
--- /dev/null
+++ b/archived/projt-launcher/launcher/resources/shaders/shaders.qrc
@@ -0,0 +1,7 @@
+<RCC>
+ <qresource prefix="/shaders">
+ <file>vshader_skin_model.glsl</file>
+ <file>vshader_skin_background.glsl</file>
+ <file>fshader.glsl</file>
+ </qresource>
+</RCC> \ No newline at end of file
diff --git a/archived/projt-launcher/launcher/resources/shaders/vshader_skin_background.glsl b/archived/projt-launcher/launcher/resources/shaders/vshader_skin_background.glsl
new file mode 100644
index 0000000000..9072af6bbf
--- /dev/null
+++ b/archived/projt-launcher/launcher/resources/shaders/vshader_skin_background.glsl
@@ -0,0 +1,11 @@
+
+attribute vec4 a_position;
+attribute vec2 a_texcoord;
+
+varying vec2 v_texcoord;
+
+void main()
+{
+ gl_Position = a_position;
+ v_texcoord = a_texcoord;
+}
diff --git a/archived/projt-launcher/launcher/resources/shaders/vshader_skin_model.glsl b/archived/projt-launcher/launcher/resources/shaders/vshader_skin_model.glsl
new file mode 100644
index 0000000000..7908813529
--- /dev/null
+++ b/archived/projt-launcher/launcher/resources/shaders/vshader_skin_model.glsl
@@ -0,0 +1,37 @@
+// Copyright (C) 2024 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+// https://code.qt.io/cgit/qt/qtbase.git/tree/examples/opengl/cube/vshader.glsl
+
+// Dylan Schooner - 2025
+// Modification: Implemented final Z-NDC re-inversion to compensate
+// for rigid OpenGL 2.0 context forcing glClearDepth(1.0).
+// This flips the high-precision Reverse Z output to the standard [0, W] range.
+
+#ifdef GL_ES
+// Set default precision to medium
+precision mediump int;
+precision mediump float;
+#endif
+
+uniform mat4 mvp_matrix;
+uniform mat4 model_matrix;
+
+attribute vec4 a_position;
+attribute vec2 a_texcoord;
+
+varying vec2 v_texcoord;
+
+void main()
+{
+ // Calculate vertex position in screen space
+ gl_Position = mvp_matrix * model_matrix * a_position;
+
+ // Invert the z component of our Reverse Z matrix back to standard NDC
+ float near_z = gl_Position.z;
+ float w_c = gl_Position.w;
+ gl_Position.z = w_c - near_z;
+
+ // Pass texture coordinate to fragment shader
+ // Value will be automatically interpolated to fragments inside polygon faces
+ v_texcoord = a_texcoord;
+}