| 12345678910111213141516171819202122232425262728293031323334353637 |
- #include "Uniforms.glsl"
- #include "Samplers.glsl"
- #include "Transform.glsl"
- #ifdef VSM_SHADOW
- varying vec4 vTexCoord;
- #else
- varying vec2 vTexCoord;
- #endif
- void VS()
- {
- mat4 modelMatrix = iModelMatrix;
- vec3 worldPos = GetWorldPos(modelMatrix);
- gl_Position = GetClipPos(worldPos);
- #ifdef VSM_SHADOW
- vTexCoord = vec4(GetTexCoord(iTexCoord), gl_Position.z, gl_Position.w);
- #else
- vTexCoord = GetTexCoord(iTexCoord);
- #endif
- }
- void PS()
- {
- #ifdef ALPHAMASK
- float alpha = texture2D(sDiffMap, vTexCoord.xy).a;
- if (alpha < 0.5)
- discard;
- #endif
- #ifdef VSM_SHADOW
- float depth = vTexCoord.z / vTexCoord.w * 0.5 + 0.5;
- gl_FragColor = vec4(depth, depth * depth, 1.0, 1.0);
- #else
- gl_FragColor = vec4(1.0);
- #endif
- }
|