source: trunk/tests/md2_test/obj.vert @ 239

Last change on this file since 239 was 239, checked in by epyon, 11 years ago
  • massive update of mesh handling
  • universal mesh handling routines
  • removed a lot of legacy code
  • significantly streamlined MD5 loading
  • all tests updated to new features
File size: 996 bytes
Line 
1#version 120
2
3attribute vec2 nv_texcoord;
4attribute vec3 nv_position;
5attribute vec3 nv_normal;
6attribute vec3 nv_next_position;
7attribute vec3 nv_next_normal;
8
9varying vec3 v_normal;
10varying vec3 v_light_vector;
11varying vec3 v_view_vector;
12varying vec2 v_texcoord;
13
14uniform mat4 nv_m_mvp;
15uniform mat4 nv_m_model;
16uniform mat4 nv_m_model_inv;
17uniform vec3 nv_v_camera_position;
18uniform vec3 light_position;
19uniform float nv_interpolate;
20
21void main(void)
22{
23        vec4 position   = vec4( mix( nv_position, nv_next_position, nv_interpolate ), 1.0 );
24        v_normal        = normalize( mix( nv_normal, nv_next_normal, nv_interpolate ) );
25        v_texcoord      = nv_texcoord;
26        gl_Position     = nv_m_mvp * position;
27
28        vec3 camera_loc = vec3(nv_m_model_inv * vec4 (nv_v_camera_position, 1.0) );
29        vec3 light_loc  = vec3(nv_m_model_inv * vec4 (light_position, 1.0) );
30
31        v_view_vector  = normalize( nv_position - camera_loc  );
32        v_light_vector = normalize( nv_position - light_loc );
33}
Note: See TracBrowser for help on using the repository browser.