20 lines
615 B
C++
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;
|
|
}
|