intravenous
diff sdr/vein.v.glsl @ 3:94d4c60af435
some progress
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Sun, 22 Apr 2012 03:35:18 +0300 |
parents | |
children | c6a6a64df6de |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/sdr/vein.v.glsl Sun Apr 22 03:35:18 2012 +0300 1.3 @@ -0,0 +1,26 @@ 1.4 +attribute vec3 attr_tang; 1.5 + 1.6 +varying vec3 vpos, vnorm; 1.7 +varying vec3 ldir, vdir; 1.8 + 1.9 +void main() 1.10 +{ 1.11 + gl_Position = ftransform(); 1.12 + vpos = (gl_ModelViewMatrix * gl_Vertex).xyz; 1.13 + vec3 norm = gl_NormalMatrix * gl_Normal; 1.14 + vec3 tang = gl_NormalMatrix * attr_tang; 1.15 + 1.16 + vec3 n = normalize(norm); 1.17 + vec3 t = normalize(tang); 1.18 + vec3 b = cross(n, t); 1.19 + 1.20 + mat3 tbn_mat = mat3( 1.21 + t.x, b.x, n.x, 1.22 + t.y, b.y, n.y, 1.23 + t.z, b.z, n.z); 1.24 + ldir = tbn_mat * (gl_LightSource[0].position.xyz - vpos); 1.25 + vdir = tbn_mat * -vpos; 1.26 + vnorm = n; 1.27 + 1.28 + gl_TexCoord[0] = gl_MultiTexCoord0; 1.29 +}