28d85d7ba3
It allows to enable it easily in GLES renderer. And we check if this extension is available anyway because it's needed for shadows, so we can use it for other shaders too.
31 lines
587 B
GLSL
31 lines
587 B
GLSL
uniform int layer;
|
|
uniform mat4 ModelMatrix;
|
|
|
|
#ifdef Explicit_Attrib_Location_Usable
|
|
layout(location = 0) in vec3 Position;
|
|
layout(location = 3) in vec2 Texcoord;
|
|
#else
|
|
in vec3 Position;
|
|
in vec2 Texcoord;
|
|
#endif
|
|
|
|
#ifdef VSLayer
|
|
out vec2 uv;
|
|
#else
|
|
out vec2 tc;
|
|
out int layerId;
|
|
#endif
|
|
|
|
void main(void)
|
|
{
|
|
#ifdef VSLayer
|
|
gl_Layer = layer;
|
|
uv = Texcoord;
|
|
gl_Position = ShadowViewProjMatrixes[gl_Layer] * ModelMatrix * vec4(Position, 1.);
|
|
#else
|
|
layerId = layer;
|
|
tc = Texcoord;
|
|
gl_Position = ShadowViewProjMatrixes[layerId] * ModelMatrix * vec4(Position, 1.);
|
|
#endif
|
|
}
|