29 lines
710 B
GLSL
29 lines
710 B
GLSL
#version 450 core
|
|
#extension GL_EXT_buffer_reference : enable
|
|
|
|
layout(buffer_reference, std430) buffer MeshVertexPositions {
|
|
float data[];
|
|
};
|
|
|
|
struct Mesh {
|
|
MeshVertexPositions positions;
|
|
};
|
|
|
|
layout(set = 0, binding = 0) readonly buffer PerPass_meshes {
|
|
Mesh data[];
|
|
} perPass_meshes;
|
|
|
|
layout(location = 0) out vec4 out_fragColor;
|
|
|
|
layout(location = 0) in flat uint tri_idx0;
|
|
|
|
void main() {
|
|
Mesh meshData = perPass_meshes.data[tri_idx0];
|
|
|
|
vec3 vertex_pos0 = vec3(meshData.positions.data[3 * tri_idx0],
|
|
meshData.positions.data[3 * tri_idx0 + 1],
|
|
meshData.positions.data[3 * tri_idx0 + 2]);
|
|
|
|
out_fragColor = vec4(vertex_pos0, 1.0);
|
|
}
|