roleplay/client/shader/ray.vert

26 lines
510 B
GLSL

#version 450
#extension GL_EXT_buffer_reference : require
layout(std430, buffer_reference) readonly buffer Ray {
vec4 a;
vec4 b;
};
layout(std430, buffer_reference) readonly buffer HexContext {
mat4 proj;
mat4 view;
};
layout(push_constant, std430) uniform PushConstant {
Ray ray;
HexContext context;
} pc;
void main() {
if(gl_VertexIndex == 0) {
gl_Position = pc.context.proj * pc.context.view * pc.ray.a;
} else {
gl_Position = pc.context.proj * pc.context.view * pc.ray.b;
}
}