62 lines
1.5 KiB
GLSL
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;
|
|
}
|