PosNormCol.vert 733 B

1234567891011121314151617181920212223242526272829303132333435
  1. #version 460
  2. layout (location = 0) in vec3 vPosition;
  3. layout (location = 1) in vec3 vNormal;
  4. layout (location = 2) in vec3 vColor;
  5. layout (location = 3) in vec2 vTexCoord;
  6. layout (location = 0) out vec3 outColor;
  7. layout (location = 1) out vec2 texCoord;
  8. layout(set = 0, binding = 0) uniform CameraBuffer
  9. {
  10. mat4 view;
  11. mat4 projection;
  12. mat4 viewProj;
  13. mat4 viewInv;
  14. } cameraData;
  15. struct ObjectData
  16. {
  17. mat4 world;
  18. };
  19. layout(std140, set = 1, binding = 0) readonly buffer ObjectBuffer
  20. {
  21. ObjectData objects[];
  22. } objectBuffer;
  23. void main()
  24. {
  25. mat4 wvp = cameraData.viewProj * objectBuffer.objects[gl_InstanceIndex].world;
  26. gl_Position = wvp * vec4(vPosition, 1.0);
  27. outColor = vec3(0.1f, 0.8f, 0.1f);
  28. texCoord = vTexCoord;
  29. }