summaryrefslogtreecommitdiffstats
path: root/headtrack_stereo_demo/shaders/greyscale.vert
diff options
context:
space:
mode:
Diffstat (limited to 'headtrack_stereo_demo/shaders/greyscale.vert')
-rw-r--r--headtrack_stereo_demo/shaders/greyscale.vert25
1 files changed, 25 insertions, 0 deletions
diff --git a/headtrack_stereo_demo/shaders/greyscale.vert b/headtrack_stereo_demo/shaders/greyscale.vert
new file mode 100644
index 0000000..59c9d80
--- /dev/null
+++ b/headtrack_stereo_demo/shaders/greyscale.vert
@@ -0,0 +1,25 @@
+varying vec4 diffuse,ambient;
+ varying vec3 normal,lightDir,halfVector;
+
+ void main()
+ {
+ /* first transform the normal into eye space and
+ normalize the result */
+ normal = normalize(gl_NormalMatrix * gl_Normal);
+
+ /* now normalize the light's direction. Note that
+ according to the OpenGL specification, the light
+ is stored in eye space. Also since we're talking about
+ a directional light, the position field is actually direction */
+ lightDir = normalize(vec3(gl_LightSource[0].position));
+
+ /* Normalize the halfVector to pass it to the fragment shader */
+ halfVector = normalize(gl_LightSource[0].halfVector.xyz);
+
+ /* Compute the diffuse, ambient and globalAmbient terms */
+ diffuse = gl_FrontMaterial.diffuse * gl_LightSource[0].diffuse;
+ ambient = gl_FrontMaterial.ambient * gl_LightSource[0].ambient;
+ ambient += gl_LightModel.ambient * gl_FrontMaterial.ambient;
+
+ gl_Position = ftransform();
+ } \ No newline at end of file