mirror of
https://github.com/DrBeef/Raze.git
synced 2024-11-16 01:11:28 +00:00
57a455d6cb
Model rotation must come before view rotation, this just never showed up because EDuke32 doesn't have both non-identity at the same time.
39 lines
836 B
Text
39 lines
836 B
Text
#version 330
|
|
|
|
out vec4 v_color;
|
|
out float v_distance;
|
|
out vec4 v_texCoord;
|
|
out vec4 v_detailCoord;
|
|
out float v_fogCoord;
|
|
out vec4 v_eyeCoordPosition;
|
|
|
|
uniform float u_usePalette;
|
|
uniform mat4 u_rotMatrix;
|
|
uniform mat4 u_modelMatrix;
|
|
uniform mat4 u_projectionMatrix;
|
|
uniform mat4 u_detailMatrix;
|
|
uniform mat4 u_textureMatrix;
|
|
|
|
in vec4 i_vertPos;
|
|
in vec4 i_texCoord;
|
|
in vec4 i_color;
|
|
|
|
|
|
|
|
void main()
|
|
{
|
|
vec4 vertex = u_modelMatrix * i_vertPos;
|
|
vec4 eyeCoordPosition = u_rotMatrix * vertex;
|
|
v_eyeCoordPosition = eyeCoordPosition;
|
|
gl_Position = u_projectionMatrix * eyeCoordPosition;
|
|
|
|
eyeCoordPosition.xyz /= eyeCoordPosition.w;
|
|
|
|
v_texCoord = u_textureMatrix * i_texCoord;
|
|
v_detailCoord = u_detailMatrix * i_texCoord;
|
|
|
|
v_fogCoord = abs(eyeCoordPosition.z);
|
|
|
|
v_color = i_color;
|
|
v_distance = eyeCoordPosition.z;
|
|
}
|