summaryrefslogtreecommitdiff
path: root/crates/renderer/src/assets/shaders
diff options
context:
space:
mode:
Diffstat (limited to 'crates/renderer/src/assets/shaders')
-rw-r--r--crates/renderer/src/assets/shaders/color/frag.glsl8
-rw-r--r--crates/renderer/src/assets/shaders/color/vert.glsl4
-rw-r--r--crates/renderer/src/assets/shaders/tcg/frag.glsl15
-rw-r--r--crates/renderer/src/assets/shaders/tcg/vert.glsl4
-rw-r--r--crates/renderer/src/assets/shaders/tcg_screen/frag.glsl15
-rw-r--r--crates/renderer/src/assets/shaders/tcg_screen/vert.glsl4
6 files changed, 50 insertions, 0 deletions
diff --git a/crates/renderer/src/assets/shaders/color/frag.glsl b/crates/renderer/src/assets/shaders/color/frag.glsl
new file mode 100644
index 0000000..7b6b51b
--- /dev/null
+++ b/crates/renderer/src/assets/shaders/color/frag.glsl
@@ -0,0 +1,8 @@
+uniform sampler2D texture_data;
+
+uniform vec4 color;
+
+void main()
+{
+ frag_color = color;
+}
diff --git a/crates/renderer/src/assets/shaders/color/vert.glsl b/crates/renderer/src/assets/shaders/color/vert.glsl
new file mode 100644
index 0000000..e324f7e
--- /dev/null
+++ b/crates/renderer/src/assets/shaders/color/vert.glsl
@@ -0,0 +1,4 @@
+void main()
+{
+ default_main();
+} \ No newline at end of file
diff --git a/crates/renderer/src/assets/shaders/tcg/frag.glsl b/crates/renderer/src/assets/shaders/tcg/frag.glsl
new file mode 100644
index 0000000..cab840d
--- /dev/null
+++ b/crates/renderer/src/assets/shaders/tcg/frag.glsl
@@ -0,0 +1,15 @@
+uniform sampler2D texture_data;
+
+uniform float transparency;
+
+void main()
+{
+ float opacity = 1.0 - clamp(transparency, 0.0, 1.0);
+ vec2 tcfull = vec2(vertex_texcoord.x, 1.0 - vertex_texcoord.y);
+ vec4 texel = texture(texture_data, tcfull);
+ if (texel.a != 1.0) {
+ discard;
+ }
+ texel.a *= opacity;
+ frag_color = texel;
+}
diff --git a/crates/renderer/src/assets/shaders/tcg/vert.glsl b/crates/renderer/src/assets/shaders/tcg/vert.glsl
new file mode 100644
index 0000000..e324f7e
--- /dev/null
+++ b/crates/renderer/src/assets/shaders/tcg/vert.glsl
@@ -0,0 +1,4 @@
+void main()
+{
+ default_main();
+} \ No newline at end of file
diff --git a/crates/renderer/src/assets/shaders/tcg_screen/frag.glsl b/crates/renderer/src/assets/shaders/tcg_screen/frag.glsl
new file mode 100644
index 0000000..2a14860
--- /dev/null
+++ b/crates/renderer/src/assets/shaders/tcg_screen/frag.glsl
@@ -0,0 +1,15 @@
+uniform sampler2D texture_data;
+
+uniform float transparency;
+
+void main()
+{
+ float opacity = 1.0 - clamp(transparency, 0.0, 1.0);
+ vec2 tcfull = vec2(vertex_texcoord.x, vertex_texcoord.y);
+ vec4 texel = texture(texture_data, tcfull);
+ if (texel.a != 1.0) {
+ discard;
+ }
+ texel.a *= opacity;
+ frag_color = texel;
+}
diff --git a/crates/renderer/src/assets/shaders/tcg_screen/vert.glsl b/crates/renderer/src/assets/shaders/tcg_screen/vert.glsl
new file mode 100644
index 0000000..e324f7e
--- /dev/null
+++ b/crates/renderer/src/assets/shaders/tcg_screen/vert.glsl
@@ -0,0 +1,4 @@
+void main()
+{
+ default_main();
+} \ No newline at end of file