diff options
| author | hachem <im@hachem.wtf> | 2025-08-12 19:17:50 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2025-08-12 19:17:50 +0200 |
| commit | 3b02022fd79ad0e130b8c49e7707d221bfc97bb5 (patch) | |
| tree | 0da9ee9559969a7f40d92611a3b1c234e38ae36f /assets/textured.glsl | |
| parent | 7e06a916e6a385c37075abcb83d14b8c1fef7bc0 (diff) | |
feat: texture and pixel buffers
Diffstat (limited to 'assets/textured.glsl')
| -rw-r--r-- | assets/textured.glsl | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/assets/textured.glsl b/assets/textured.glsl new file mode 100644 index 0000000..ad135fe --- /dev/null +++ b/assets/textured.glsl @@ -0,0 +1,41 @@ +#type vertex +#version 330 core + +layout(location = 0) in vec3 a_Position; +layout(location = 1) in vec4 a_Color; +layout(location = 2) in vec2 a_TexCoord; + +uniform mat4 u_ViewProjection; +uniform mat4 u_Transform; + +out vec3 v_Position; +out vec4 v_Color; +out vec2 v_TexCoord; + +void main() +{ + v_Position = a_Position; + v_Color = a_Color; + v_TexCoord = a_TexCoord; + gl_Position = u_ViewProjection * u_Transform * vec4(a_Position, 1.0); +} + +#type fragment +#version 330 core + +layout(location = 0) out vec4 color; + +in vec3 v_Position; +in vec4 v_Color; +in vec2 v_TexCoord; + +uniform sampler2D u_Texture; + +void main() +{ + vec4 texColor = texture(u_Texture, v_TexCoord); + if (texColor.rgb == vec3(0.0)) + color = v_Color; + else + color = v_Color * texColor; +} |
