#version 450 layout (location = 0) in vec3 in_position; layout (set = 0, binding = 0) uniform CameraProperties { mat4 view; mat4 proj; mat4 vp; mat4 inv_view; mat4 inv_proj; } globals; layout (location = 0) out vec3 out_uvw; void main() { out_uvw = in_position; // Convert cubemap coordinates into Vulkan coordinate space // out_uvw.xy *= -1.0; // Remove translation from view matrix mat4 view_mat = mat4(mat3(globals.view)); gl_Position = globals.proj * view_mat * vec4(in_position, 1.0); }