| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #include "Uniforms.glsl"
- #include "Samplers.glsl"
- #include "Transform.glsl"
- #if defined(DIFFMAP) || defined(ALPHAMAP)
- varying vec2 vTexCoord;
- #endif
- #ifdef VERTEXCOLOR
- varying vec4 vColor;
- #endif
- void VS()
- {
- mat4 modelMatrix = iModelMatrix;
- vec3 worldPos = GetWorldPos(modelMatrix);
- gl_Position = GetClipPos(worldPos);
-
- #ifdef DIFFMAP
- vTexCoord = iTexCoord;
- #endif
- #ifdef VERTEXCOLOR
- vColor = iColor;
- #endif
- }
- void PS()
- {
- vec4 diffColor = cMatDiffColor;
- #ifdef VERTEXCOLOR
- diffColor *= vColor;
- #endif
- #if (!defined(DIFFMAP)) && (!defined(ALPHAMAP))
- gl_FragColor = diffColor;
- #endif
- #ifdef DIFFMAP
- vec4 diffInput = texture2D(sDiffMap, vTexCoord);
- #ifdef ALPHAMASK
- if (diffInput.a < 0.5)
- discard;
- #endif
- gl_FragColor = diffColor * diffInput;
- #endif
- #ifdef ALPHAMAP
- float alphaInput = texture2D(sDiffMap, vTexCoord).a;
- gl_FragColor = vec4(diffColor.rgb, diffColor.a * alphaInput);
- #endif
- }
|