Files
OpenRA/glsl/vxl.vert

23 lines
471 B
GLSL

uniform mat4 View;
uniform mat4 TransformMatrix;
varying vec4 TexCoord;
varying vec4 ChannelMask;
varying vec4 NormalsMask;
vec4 DecodeMask(float x)
{
if (x > 0.0)
return (x > 0.5) ? vec4(1,0,0,0) : vec4(0,1,0,0);
else
return (x < -0.5) ? vec4(0,0,0,1) : vec4(0,0,1,0);
}
void main()
{
gl_Position = View*TransformMatrix*gl_Vertex;
TexCoord = gl_MultiTexCoord0;
ChannelMask = DecodeMask(gl_MultiTexCoord0.z);
NormalsMask = DecodeMask(gl_MultiTexCoord0.w);
}