raze-gles/source/polymost1Vert.glsl.cpp

36 lines
1.0 KiB
C++

char const *polymost1Vert = R"shader(
#version 110
varying vec4 v_color;
varying float v_distance;
//u_texturePosSize is the texture position & size packaged into a single vec4 as {pos.x, pos.y, size.x, size.y}
uniform vec4 u_texturePosSize;
uniform float u_usePalette;
uniform mat4 u_rotMatrix;
const float c_zero = 0.0;
const float c_one = 1.0;
void main()
{
vec4 vertex = u_rotMatrix * gl_Vertex;
vec4 eyeCoordPosition = gl_ModelViewMatrix * vertex;
gl_Position = gl_ModelViewProjectionMatrix * vertex;
eyeCoordPosition.xyz /= eyeCoordPosition.w;
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
gl_TexCoord[0] = mix(gl_TexCoord[0].xyzw, gl_TexCoord[0].yxzw, u_usePalette);
gl_TexCoord[3] = gl_TextureMatrix[3] * gl_MultiTexCoord3;
gl_TexCoord[4] = gl_TextureMatrix[4] * gl_MultiTexCoord4;
gl_FogFragCoord = abs(eyeCoordPosition.z);
//gl_FogFragCoord = clamp((gl_Fog.end-abs(eyeCoordPosition.z))*gl_Fog.scale, c_zero, c_one);
v_color = gl_Color;
v_distance = gl_Vertex.z;
}
)shader";