raze-gles/wadsrc/static/demolition/shaders/glsl/polymost.vp
Christoph Oelckers 3d538b4c8f - use explicit vertex attributes for everything.
No more glVertex, glTexCoord or glColor calls anywhere.
2019-10-06 10:46:23 +02:00

43 lines
954 B
Text

#version 330
out vec4 v_color;
out float v_distance;
out vec4 v_texCoord;
out vec4 v_detailCoord;
out vec4 v_glowCoord;
out float v_fogCoord;
uniform float u_usePalette;
uniform mat4 u_rotMatrix;
uniform mat4 u_modelMatrix;
uniform mat4 u_projectionMatrix;
uniform mat4 u_detailMatrix;
uniform mat4 u_glowMatrix;
in vec4 i_vertPos;
in vec4 i_texCoord;
in vec4 i_color;
const float c_zero = 0.0;
const float c_one = 1.0;
void main()
{
vec4 vertex = u_rotMatrix * i_vertPos;
vec4 eyeCoordPosition = u_modelMatrix * vertex;
gl_Position = u_projectionMatrix * eyeCoordPosition;
eyeCoordPosition.xyz /= eyeCoordPosition.w;
v_texCoord = i_texCoord;
//gl_TexCoord[0] = mix(gl_TexCoord[0].xyzw, gl_TexCoord[0].yxzw, u_usePalette); WTF is this???
v_detailCoord = u_detailMatrix * i_texCoord;
v_glowCoord = u_glowMatrix * i_texCoord;
v_fogCoord = abs(eyeCoordPosition.z);
v_color = i_color;
v_distance = i_vertPos.z;
}