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