From e142166c3e2d6f567ed0d4e4c414fa510271260f Mon Sep 17 00:00:00 2001 From: David Thompson Date: Fri, 7 May 2021 09:49:57 -0400 Subject: graphics: pbr: Extract shader code to separate files. --- data/shaders/pbr-frag.glsl | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 data/shaders/pbr-frag.glsl (limited to 'data/shaders/pbr-frag.glsl') diff --git a/data/shaders/pbr-frag.glsl b/data/shaders/pbr-frag.glsl new file mode 100644 index 0000000..813f9a9 --- /dev/null +++ b/data/shaders/pbr-frag.glsl @@ -0,0 +1,42 @@ +// -*- mode: c -*- + +#ifdef GLSL120 +attribute vec2 fragTexcoord0; +attribute vec2 fragTexcoord1 +attribute vec4 fragColor0; +#else +in vec2 fragTexcoord0; +in vec2 fragTexcoord1; +in vec4 fragColor0; +#endif + +#ifdef GLSL330 +out vec4 fragColor; +#endif + +uniform bool textured0; +uniform bool textured1; +uniform bool vertexColored; +uniform vec3 baseColorFactor; +uniform sampler2D texture0; +uniform sampler2D texture1; + +void main (void) { + vec4 finalColor = vec4(baseColorFactor, 1.0); + // Vertex coloring. + if(vertexColored) { + finalColor *= fragColor0; + } + // Texture sampling. + if(textured0) { + finalColor *= texture(texture0, fragTexcoord0); + } + if(textured1) { + finalColor += texture(texture1, fragTexcoord1); + } +#ifdef GLSL330 + fragColor = finalColor; +#else + gl_FragColor = finalColor; +#endif +} -- cgit v1.2.3