reflection.vs 917 B

1234567891011121314151617181920212223242526272829303132
  1. #version 330 core
  2. layout (location = 0) in vec3 in_position;
  3. layout (location = 1) in vec2 in_uv;
  4. layout (location = 2) in vec3 in_normals;
  5. layout (location = 3) in vec4 in_tangents;
  6. layout (location = 4) in vec4 in_color;
  7. layout (location = 5) in vec4 in_boneindex;
  8. layout (location = 6) in vec4 in_boneweights;
  9. out vec2 uv;
  10. uniform mat4 u_model;
  11. uniform mat4 u_bone_matrix[200];
  12. uniform bool u_has_skeleton;
  13. void main()
  14. {
  15. mat4 transform = u_model;
  16. if (u_has_skeleton == true) {
  17. mat4 skeleton = u_bone_matrix[int(in_boneindex.x*255)] * in_boneweights.x +
  18. u_bone_matrix[int(in_boneindex.y*255)] * in_boneweights.y +
  19. u_bone_matrix[int(in_boneindex.z*255)] * in_boneweights.z +
  20. u_bone_matrix[int(in_boneindex.w*255)] * in_boneweights.w;
  21. transform = u_model * skeleton;
  22. }
  23. uv = in_uv;
  24. gl_Position = transform * vec4(in_position, 1.0);
  25. }