intravenous

annotate sdr/vein.v.glsl @ 6:2723dc026c4f

collision detection
author John Tsiombikas <nuclear@member.fsf.org>
date Mon, 23 Apr 2012 21:43:10 +0300
parents c6a6a64df6de
children
rev   line source
nuclear@3 1 attribute vec3 attr_tang;
nuclear@3 2
nuclear@6 3 varying vec3 vpos;
nuclear@3 4 varying vec3 ldir, vdir;
nuclear@3 5
nuclear@3 6 void main()
nuclear@3 7 {
nuclear@3 8 gl_Position = ftransform();
nuclear@3 9 vpos = (gl_ModelViewMatrix * gl_Vertex).xyz;
nuclear@3 10 vec3 norm = gl_NormalMatrix * gl_Normal;
nuclear@3 11 vec3 tang = gl_NormalMatrix * attr_tang;
nuclear@3 12
nuclear@3 13 vec3 n = normalize(norm);
nuclear@3 14 vec3 t = normalize(tang);
nuclear@3 15 vec3 b = cross(n, t);
nuclear@3 16
nuclear@3 17 mat3 tbn_mat = mat3(
nuclear@3 18 t.x, b.x, n.x,
nuclear@3 19 t.y, b.y, n.y,
nuclear@3 20 t.z, b.z, n.z);
nuclear@6 21 ldir = tbn_mat * vec3(0, 0, 1);
nuclear@3 22 vdir = tbn_mat * -vpos;
nuclear@3 23
nuclear@4 24 gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
nuclear@3 25 }