vk-book/data/shaders/Grid.vert

40 lines
694 B
GLSL
Raw Normal View History

2025-05-23 21:13:53 -04:00
//
#version 460 core
#include <data/shaders/GridParameters.h>
layout(push_constant) uniform PerFrameData {
mat4 MVP;
vec4 cameraPos;
vec4 origin;
};
layout (location=0) out vec2 uv;
layout (location=1) out vec2 out_camPos;
const vec3 pos[4] = vec3[4](
vec3(-1.0, 0.0, -1.0),
vec3( 1.0, 0.0, -1.0),
vec3( 1.0, 0.0, 1.0),
vec3(-1.0, 0.0, 1.0)
);
const int indices[6] = int[6](
0, 1, 2, 2, 3, 0
);
void main() {
int idx = indices[gl_VertexIndex];
vec3 position = pos[idx] * gridSize;
position.x += cameraPos.x;
position.z += cameraPos.z;
position += origin.xyz;
out_camPos = cameraPos.xz;
gl_Position = MVP * vec4(position, 1.0);
uv = position.xz;
}