Files
2025-11-28 23:13:44 +05:30

20 lines
615 B
C++

uniform float timestep = 0.02;
uniform vec3 eyeVel;
uniform float iStartFade = 1.0;
void main()
{
vec3 pos = gl_Vertex.xyz;
vec3 vel = gl_MultiTexCoord2.xyz;
//vel = vec3(10.0f,0.0f,0.0f);
vec3 pos2 = (pos - (vel+eyeVel)*timestep); // previous position
gl_Position = gl_ModelViewMatrix * vec4(pos, 1.0); // eye space
gl_TexCoord[0] = gl_ModelViewMatrix * vec4(pos2, 1.0);
gl_TexCoord[1].x = gl_MultiTexCoord1.x;
gl_TexCoord[1].y = max(0.0f, min(gl_MultiTexCoord3.x*iStartFade, 1.0f));
gl_TexCoord[2].xyz = pos;
gl_TexCoord[3] = gl_MultiTexCoord4;
gl_FrontColor = gl_Color;
}