static.vs 888 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #version 120
  2. attribute vec3 vPosition;
  3. attribute vec2 vTexcoord;
  4. attribute vec3 vNormal;
  5. attribute vec3 vTangent;
  6. attribute vec3 vBinormal;
  7. uniform mat4 world;
  8. uniform mat4 view;
  9. uniform mat4 proj;
  10. varying vec2 fTexcoord;
  11. varying vec3 fColor;
  12. varying vec3 fPosition;
  13. varying mat4 fTBN;
  14. void main( void ) {
  15. vec3 w_tangent = mat3(world) * vTangent;
  16. vec3 w_binormal = mat3(world) * vBinormal;
  17. vec3 w_normal = mat3(world) * vNormal;
  18. fTBN = mat4(
  19. w_tangent.x, w_binormal.x, w_normal.x, 0.0,
  20. w_tangent.y, w_binormal.y, w_normal.y, 0.0,
  21. w_tangent.z, w_binormal.z, w_normal.z, 0.0,
  22. 0.0, 0.0, 0.0, 1.0 );
  23. vec4 world_position = world * vec4(vPosition, 1);
  24. fColor = vec3(1.0, 1.0, 1.0);
  25. fTexcoord = vTexcoord;
  26. fPosition = world_position.xyz / world_position.w;
  27. gl_Position = proj * view * world_position;
  28. }