shader/rectangle_frag.glsl

Sat, 14 Jun 2025 14:02:16 +0200

author
Mike Becker <universe@uap-core.de>
date
Sat, 14 Jun 2025 14:02:16 +0200
changeset 151
42960d0c879b
parent 137
shader/sprite_frag.glsl@f8e6e0ae61a8
permissions
-rw-r--r--

adds first basic rectangle shader

partially solves issue #384

16
c5dde81b6fb2 add text rendering and demo FPS counter
Mike Becker <universe@uap-core.de>
parents: 15
diff changeset
1 layout(location = 0) out vec4 diffuse;
88
6234b7ea48f3 add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents: 50
diff changeset
2 in vec2 uvcoord;
15
362b7659dc76 add shader loading and unloading
Mike Becker <universe@uap-core.de>
parents:
diff changeset
3
151
42960d0c879b adds first basic rectangle shader
Mike Becker <universe@uap-core.de>
parents: 137
diff changeset
4 uniform vec4 color;
42960d0c879b adds first basic rectangle shader
Mike Becker <universe@uap-core.de>
parents: 137
diff changeset
5 uniform vec2 size;
42960d0c879b adds first basic rectangle shader
Mike Becker <universe@uap-core.de>
parents: 137
diff changeset
6 #ifndef FILL
42960d0c879b adds first basic rectangle shader
Mike Becker <universe@uap-core.de>
parents: 137
diff changeset
7 uniform float thickness;
137
f8e6e0ae61a8 remove pre-defined dummy textures by introducing conditional compilation for shaders
Mike Becker <universe@uap-core.de>
parents: 135
diff changeset
8 #endif
15
362b7659dc76 add shader loading and unloading
Mike Becker <universe@uap-core.de>
parents:
diff changeset
9
362b7659dc76 add shader loading and unloading
Mike Becker <universe@uap-core.de>
parents:
diff changeset
10 void main(void) {
151
42960d0c879b adds first basic rectangle shader
Mike Becker <universe@uap-core.de>
parents: 137
diff changeset
11 #ifdef FILL
42960d0c879b adds first basic rectangle shader
Mike Becker <universe@uap-core.de>
parents: 137
diff changeset
12 diffuse = color;
42960d0c879b adds first basic rectangle shader
Mike Becker <universe@uap-core.de>
parents: 137
diff changeset
13 #else
42960d0c879b adds first basic rectangle shader
Mike Becker <universe@uap-core.de>
parents: 137
diff changeset
14 if (uvcoord.x < thickness || uvcoord.x >= size.x - thickness || uvcoord.y < thickness || uvcoord.y >= size.y-thickness) {
42960d0c879b adds first basic rectangle shader
Mike Becker <universe@uap-core.de>
parents: 137
diff changeset
15 diffuse = color;
42960d0c879b adds first basic rectangle shader
Mike Becker <universe@uap-core.de>
parents: 137
diff changeset
16 } else {
42960d0c879b adds first basic rectangle shader
Mike Becker <universe@uap-core.de>
parents: 137
diff changeset
17 discard;
42960d0c879b adds first basic rectangle shader
Mike Becker <universe@uap-core.de>
parents: 137
diff changeset
18 }
42960d0c879b adds first basic rectangle shader
Mike Becker <universe@uap-core.de>
parents: 137
diff changeset
19 #endif
15
362b7659dc76 add shader loading and unloading
Mike Becker <universe@uap-core.de>
parents:
diff changeset
20 }

mercurial