1234567891011121314151617181920212223242526272829303132333435363738 |
- //
- // Vertex shader for procedural bumps
- //
- // Authors: Randi Rost, John Kessenich
- //
- // Copyright (c) 2002-2006 3Dlabs Inc. Ltd.
- //
- // See 3Dlabs-License.txt for license information
- //
-
- varying vec3 LightDir;
- varying vec3 EyeDir;
-
- uniform vec3 LightPosition;
-
- attribute vec3 Tangent;
-
- void main()
- {
- EyeDir = vec3(gl_ModelViewMatrix * gl_Vertex);
- gl_Position = ftransform();
- gl_TexCoord[0] = gl_MultiTexCoord0;
-
- vec3 n = normalize(gl_NormalMatrix * gl_Normal);
- vec3 t = normalize(gl_NormalMatrix * Tangent);
- vec3 b = cross(n, t);
-
- vec3 v;
- v.x = dot(LightPosition, t);
- v.y = dot(LightPosition, b);
- v.z = dot(LightPosition, n);
- LightDir = normalize(v);
-
- v.x = dot(EyeDir, t);
- v.y = dot(EyeDir, b);
- v.z = dot(EyeDir, n);
- EyeDir = normalize(v);
- }
|