diff options
Diffstat (limited to 'headtrack_stereo_demo/shaders/greyscale.vert')
-rw-r--r-- | headtrack_stereo_demo/shaders/greyscale.vert | 25 |
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 |