summaryrefslogtreecommitdiff
path: root/assets
diff options
context:
space:
mode:
authoraura <nw@moneybot.cc>2026-03-10 01:35:50 +0100
committeraura <nw@moneybot.cc>2026-03-10 01:35:50 +0100
commit8329d42d3e592f4cd42cdfa586e2325ddc76c898 (patch)
treedec7e2a733bfc6b6384936c1f3ed067a42b59bb9 /assets
parent8ae8c85e9d3806cdb726e07f37e1b49484c5c48e (diff)
perf profiler, simplify 2d render, string struct, many small things
Diffstat (limited to 'assets')
-rw-r--r--assets/shaders/2d.fsh14
-rw-r--r--assets/shaders/2d.vsh15
-rw-r--r--assets/shaders/2d_texcoord.fsh19
-rw-r--r--assets/shaders/2d_texcoord.vsh28
4 files changed, 22 insertions, 54 deletions
diff --git a/assets/shaders/2d.fsh b/assets/shaders/2d.fsh
index 15465af..ba1fa59 100644
--- a/assets/shaders/2d.fsh
+++ b/assets/shaders/2d.fsh
@@ -1,7 +1,19 @@
#version 150
+uniform sampler2D g_samplers[255];
+
+const uint SAMPLER_ID_NONE = 255u;
+
+in vec2 g_texcoord;
in vec4 g_color;
+flat in uint g_sampler;
void main() {
- gl_FragColor = g_color;
+ vec4 color = g_color;
+ if( g_sampler != SAMPLER_ID_NONE ) {
+ vec4 tex_color = texture2D( g_samplers[g_sampler], g_texcoord );
+ color *= tex_color;
+ if (color.a < 0.01) discard;
+ }
+ gl_FragColor = color;
}
diff --git a/assets/shaders/2d.vsh b/assets/shaders/2d.vsh
index 7701087..96370fc 100644
--- a/assets/shaders/2d.vsh
+++ b/assets/shaders/2d.vsh
@@ -1,11 +1,13 @@
#version 150
-in vec2 in_pos;
-in vec2 in_texcoord;
-in vec4 in_col;
+in vec2 in_pos;
+in vec4 in_clr;
+in vec2 in_texcoord;
+in float in_sampler;
out vec2 g_texcoord;
out vec4 g_color;
+flat out uint g_sampler;
uniform vec4 g_screenratio;
@@ -17,7 +19,8 @@ void main() {
pos[1] -= halfscreen[1];
pos[1] *= -1.0;
- gl_Position = ( pos ) * g_screenratio;
- g_texcoord = in_texcoord;
- g_color = in_col;
+ g_texcoord = in_texcoord;
+ g_color = in_clr;
+ g_sampler = uint(in_sampler * 255.0 + 0.5);
+ gl_Position = ( pos ) * g_screenratio;
}
diff --git a/assets/shaders/2d_texcoord.fsh b/assets/shaders/2d_texcoord.fsh
deleted file mode 100644
index 38dc69c..0000000
--- a/assets/shaders/2d_texcoord.fsh
+++ /dev/null
@@ -1,19 +0,0 @@
-#version 150
-
-uniform sampler2D g_samplers[255];
-
-const int SAMPLER_ID_NONE = 255;
-
-in vec2 g_texcoord;
-in vec4 g_color;
-flat in int g_sampler;
-
-void main() {
- vec4 color = g_color;
- if( g_sampler != SAMPLER_ID_NONE ) {
- vec4 tex_color = texture2D( g_samplers[g_sampler], g_texcoord );
- color *= tex_color;
- if (color.a < 0.01) discard;
- }
- gl_FragColor = color;
-}
diff --git a/assets/shaders/2d_texcoord.vsh b/assets/shaders/2d_texcoord.vsh
deleted file mode 100644
index 80c7597..0000000
--- a/assets/shaders/2d_texcoord.vsh
+++ /dev/null
@@ -1,28 +0,0 @@
-#version 150
-
-uniform sampler2D g_samplers[255];
-
-in vec2 in_pos;
-in vec4 in_clr;
-in vec2 in_texcoord;
-in float in_sampler;
-
-out vec2 g_texcoord;
-out vec4 g_color;
-flat out int g_sampler;
-
-uniform vec4 g_screenratio;
-
-void main() {
- vec2 halfscreen = vec2( 1.0 / g_screenratio[0], 1.0 / g_screenratio[1] );
-
- vec4 pos = vec4( in_pos.x, in_pos.y, 1, 1 );
- pos[0] -= halfscreen[0];
- pos[1] -= halfscreen[1];
- pos[1] *= -1.0;
-
- g_texcoord = in_texcoord;
- g_color = in_clr;
- g_sampler = int(in_sampler * 255.0 + 0.5);
- gl_Position = ( pos ) * g_screenratio;
-}