skybox.vert 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #version 450
  2. const vec3 VERTS[36] = vec3[]
  3. (
  4. vec3(-1.0f, 1.0f, -1.0f),
  5. vec3(-1.0f, -1.0f, -1.0f),
  6. vec3(1.0f, -1.0f, -1.0f),
  7. vec3(1.0f, -1.0f, -1.0f),
  8. vec3(1.0f, 1.0f, -1.0f),
  9. vec3(-1.0f, 1.0f, -1.0f),
  10. vec3(-1.0f, -1.0f, 1.0f),
  11. vec3(-1.0f, -1.0f, -1.0f),
  12. vec3(-1.0f, 1.0f, -1.0f),
  13. vec3(-1.0f, 1.0f, -1.0f),
  14. vec3(-1.0f, 1.0f, 1.0f),
  15. vec3(-1.0f, -1.0f, 1.0f),
  16. vec3(1.0f, -1.0f, -1.0f),
  17. vec3(1.0f, -1.0f, 1.0f),
  18. vec3(1.0f, 1.0f, 1.0f),
  19. vec3(1.0f, 1.0f, 1.0f),
  20. vec3(1.0f, 1.0f, -1.0f),
  21. vec3(1.0f, -1.0f, -1.0f),
  22. vec3(-1.0f, -1.0f, 1.0f),
  23. vec3(-1.0f, 1.0f, 1.0f),
  24. vec3(1.0f, 1.0f, 1.0f),
  25. vec3(1.0f, 1.0f, 1.0f),
  26. vec3(1.0f, -1.0f, 1.0f),
  27. vec3(-1.0f, -1.0f, 1.0f),
  28. vec3(-1.0f, 1.0f, -1.0f),
  29. vec3(1.0f, 1.0f, -1.0f),
  30. vec3(1.0f, 1.0f, 1.0f),
  31. vec3(1.0f, 1.0f, 1.0f),
  32. vec3(-1.0f, 1.0f, 1.0f),
  33. vec3(-1.0f, 1.0f, -1.0f),
  34. vec3(-1.0f, -1.0f, -1.0f),
  35. vec3(-1.0f, -1.0f, 1.0f),
  36. vec3(1.0f, -1.0f, -1.0f),
  37. vec3(1.0f, -1.0f, -1.0f),
  38. vec3(-1.0f, -1.0f, 1.0f),
  39. vec3(1.0f, -1.0f, 1.0f)
  40. );
  41. struct PointLight
  42. {
  43. vec4 position; // w is radius
  44. vec4 color; // w is intensity
  45. };
  46. layout (set = 0, binding = 0) uniform GlobalUBO
  47. {
  48. // MATRICES
  49. mat4 view;
  50. mat4 viewInverse;
  51. mat4 viewProjection;
  52. // LIGHTING
  53. vec4 globalLightDirection;
  54. vec4 ambientLighting;
  55. // POINT LIGHTS
  56. PointLight pointLights[8];
  57. int numLights;
  58. } ubo;
  59. layout(location = 0) out vec3 outTexCoord;
  60. void main()
  61. {
  62. outTexCoord = VERTS[gl_VertexIndex];
  63. gl_Position = ubo.viewProjection * vec4(outTexCoord + ubo.viewInverse[3].xyz, 1.f) ;
  64. outTexCoord.xy *= -1.f;
  65. }