2024-01-07 22:27:53 -07:00
|
|
|
#version 450
|
2024-01-13 15:27:14 -07:00
|
|
|
#extension GL_EXT_buffer_reference : require
|
|
|
|
|
|
|
|
|
|
|
|
layout(buffer_reference, buffer_reference_align = 16) buffer ObjectBuffer {
|
2024-01-13 16:37:29 -07:00
|
|
|
mat4 model[];
|
2024-01-13 15:27:14 -07:00
|
|
|
};
|
2024-01-07 22:27:53 -07:00
|
|
|
|
2024-01-12 21:12:31 -07:00
|
|
|
layout( push_constant ) uniform constants {
|
2024-01-13 15:27:14 -07:00
|
|
|
ObjectBuffer objects;
|
2024-01-16 17:28:10 -07:00
|
|
|
} scene_pc;
|
2024-01-10 19:32:01 -07:00
|
|
|
|
2024-01-12 21:12:31 -07:00
|
|
|
layout(set = 0, binding = 0) uniform SceneUniform {
|
2024-01-16 17:28:10 -07:00
|
|
|
mat4 view;
|
|
|
|
mat4 proj;
|
|
|
|
} scene;
|
2024-01-12 21:12:31 -07:00
|
|
|
|
2024-01-08 17:37:52 -07:00
|
|
|
layout(location = 0) in vec3 inPosition;
|
2024-01-08 09:44:47 -07:00
|
|
|
layout(location = 1) in vec3 inColor;
|
2024-01-07 22:27:53 -07:00
|
|
|
|
2024-01-08 09:44:47 -07:00
|
|
|
layout(location = 0) out vec3 fragColor;
|
2024-01-07 22:27:53 -07:00
|
|
|
|
|
|
|
void main() {
|
2024-01-16 17:28:10 -07:00
|
|
|
gl_Position = scene.proj * scene.view * scene_pc.objects.model[0] * vec4(inPosition, 1.0);
|
2024-01-08 09:44:47 -07:00
|
|
|
fragColor = inColor;
|
2024-01-07 22:27:53 -07:00
|
|
|
}
|