33 lines
753 B
GLSL
33 lines
753 B
GLSL
#version 450
|
|
#extension GL_EXT_buffer_reference : require
|
|
#extension GL_EXT_debug_printf : require
|
|
|
|
layout (location = 0) out vec4 outColor;
|
|
|
|
struct Vertex {
|
|
vec4 position;
|
|
vec4 color;
|
|
};
|
|
|
|
layout(buffer_reference, std430) readonly buffer VertexBuffer{
|
|
Vertex vertices[];
|
|
};
|
|
|
|
//push constants block
|
|
layout( push_constant ) uniform constants
|
|
{
|
|
VertexBuffer vertexBuffer;
|
|
} PushConstants;
|
|
|
|
void main()
|
|
{
|
|
//load vertex data from device address
|
|
Vertex v = PushConstants.vertexBuffer.vertices[gl_VertexIndex];
|
|
|
|
//output data
|
|
gl_Position = v.position;
|
|
outColor = v.color;
|
|
//debugPrintfEXT("Position: (%f, %f, %f)\n", v.position.x, v.position.y, v.position.z);
|
|
//debugPrintfEXT("Color: (%f, %f, %f)\n", v.color.x, v.color.y, v.color.z);
|
|
}
|