| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- //
- // Fragment Shader template
- //
- precision highp float;
- #include <material>
- // Inputs from Vertex shader
- in vec3 ColorFrontAmbdiff;
- in vec3 ColorFrontSpec;
- in vec3 ColorBackAmbdiff;
- in vec3 ColorBackSpec;
- in vec2 FragTexcoord;
- // Output
- out vec4 FragColor;
- void main() {
- // Mix material color with textures colors
- vec4 texMixed = vec4(1);
- vec4 texColor;
- #if MAT_TEXTURES==1
- MIX_TEXTURE(0)
- #elif MAT_TEXTURES==2
- MIX_TEXTURE(0)
- MIX_TEXTURE(1)
- #elif MAT_TEXTURES==3
- MIX_TEXTURE(0)
- MIX_TEXTURE(1)
- MIX_TEXTURE(2)
- #endif
- vec4 colorAmbDiff;
- vec4 colorSpec;
- if (gl_FrontFacing) {
- colorAmbDiff = vec4(ColorFrontAmbdiff, MatOpacity);
- colorSpec = vec4(ColorFrontSpec, 0);
- } else {
- colorAmbDiff = vec4(ColorBackAmbdiff, MatOpacity);
- colorSpec = vec4(ColorBackSpec, 0);
- }
- FragColor = min(colorAmbDiff * texMixed + colorSpec, vec4(1));
- }
|