aboutsummaryrefslogtreecommitdiff
path: root/KaplaDemo/externalIP/resources/shaders/dust_vs.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'KaplaDemo/externalIP/resources/shaders/dust_vs.cpp')
-rw-r--r--KaplaDemo/externalIP/resources/shaders/dust_vs.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/KaplaDemo/externalIP/resources/shaders/dust_vs.cpp b/KaplaDemo/externalIP/resources/shaders/dust_vs.cpp
new file mode 100644
index 00000000..784782bf
--- /dev/null
+++ b/KaplaDemo/externalIP/resources/shaders/dust_vs.cpp
@@ -0,0 +1,19 @@
+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;
+}