- out vec4 eye_vertex = vertex_tf*get_vertex_position();
- gl_Position = projection_matrix*eye_vertex;
-
- out vec3 eye_normal = normal_tf*get_vertex_normal();
- vec3 eye_tangent = normal_tf*tangent;
- vec3 eye_binormal = cross(eye_normal, eye_tangent);
- out mat3 eye_tbn_matrix = mat3(eye_tangent, eye_binormal, eye_normal);
-
- out vec3 eye_look_dir = normalize(eye_vertex.xyz);
- out vec3 tbn_look_dir = eye_look_dir*eye_tbn_matrix;
-
- out vec3 eye_light_dir = normalize(light_sources[0].position.xyz-eye_vertex.xyz*light_sources[0].position.w);
- out vec3 tbn_light_dir = eye_light_dir*eye_tbn_matrix;
+ out vec4 world_vertex = vertex_tf*get_vertex_position();
+ vec4 eye_vertex = eye_world_matrix*world_vertex;
+ gl_Position = clip_eye_matrix*eye_vertex;