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.
34 lines
700 B
GLSL
34 lines
700 B
GLSL
uniform int layer;
|
|
uniform mat4 ModelMatrix;
|
|
uniform vec3 windDir;
|
|
|
|
#ifdef Explicit_Attrib_Location_Usable
|
|
layout(location = 0) in vec3 Position;
|
|
layout(location = 2) in vec4 Color;
|
|
layout(location = 3) in vec2 Texcoord;
|
|
#else
|
|
in vec3 Position;
|
|
in vec4 Color;
|
|
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 + windDir * Color.r, 1.);
|
|
#else
|
|
layerId = layer;
|
|
tc = Texcoord;
|
|
gl_Position = ShadowViewProjMatrixes[layerId] * ModelMatrix * vec4(Position + windDir * Color.r, 1.);
|
|
#endif
|
|
}
|