Files
evol-assets/assets/shaders/skybox.vert
T
2021-07-18 02:29:47 +02:00

62 lines
1.5 KiB
GLSL

#version 450
layout(set = 1, binding = 0) uniform CameraParam {
mat4 projection;
mat4 view;
} Camera;
vec3 positions[36] = vec3[](
vec3(-1.0f, 1.0f, -1.0f),
vec3(-1.0f, -1.0f, -1.0f),
vec3( 1.0f, -1.0f, -1.0f),
vec3( 1.0f, -1.0f, -1.0f),
vec3( 1.0f, 1.0f, -1.0f),
vec3(-1.0f, 1.0f, -1.0f),
vec3(-1.0f, -1.0f, 1.0f),
vec3(-1.0f, -1.0f, -1.0f),
vec3(-1.0f, 1.0f, -1.0f),
vec3(-1.0f, 1.0f, -1.0f),
vec3(-1.0f, 1.0f, 1.0f),
vec3(-1.0f, -1.0f, 1.0f),
vec3( 1.0f, -1.0f, -1.0f),
vec3( 1.0f, -1.0f, 1.0f),
vec3( 1.0f, 1.0f, 1.0f),
vec3( 1.0f, 1.0f, 1.0f),
vec3( 1.0f, 1.0f, -1.0f),
vec3( 1.0f, -1.0f, -1.0f),
vec3(-1.0f, -1.0f, 1.0f),
vec3(-1.0f, 1.0f, 1.0f),
vec3( 1.0f, 1.0f, 1.0f),
vec3( 1.0f, 1.0f, 1.0f),
vec3( 1.0f, -1.0f, 1.0f),
vec3(-1.0f, -1.0f, 1.0f),
vec3(-1.0f, 1.0f, -1.0f),
vec3( 1.0f, 1.0f, -1.0f),
vec3( 1.0f, 1.0f, 1.0f),
vec3( 1.0f, 1.0f, 1.0f),
vec3(-1.0f, 1.0f, 1.0f),
vec3(-1.0f, 1.0f, -1.0f),
vec3(-1.0f, -1.0f, -1.0f),
vec3(-1.0f, -1.0f, 1.0f),
vec3( 1.0f, -1.0f, -1.0f),
vec3( 1.0f, -1.0f, -1.0f),
vec3(-1.0f, -1.0f, 1.0f),
vec3( 1.0f, -1.0f, 1.0f)
);
layout(location = 0) out vec3 texCoords;
void main()
{
mat4 normalView = mat4(mat3(Camera.view));
texCoords = positions[gl_VertexIndex];
vec4 pos = Camera.projection * normalView * vec4(positions[gl_VertexIndex], 1.0);
gl_Position = pos.xyww;
}