1#version 450 core 2#extension GL_EXT_buffer_reference : enable 3 4layout(buffer_reference, std430) buffer MeshVertexPositions { 5 float data[]; 6}; 7 8struct Mesh { 9 MeshVertexPositions positions; 10}; 11 12layout(set = 0, binding = 0) readonly buffer PerPass_meshes { 13 Mesh data[]; 14} perPass_meshes; 15 16layout(location = 0) out vec4 out_fragColor; 17 18layout(location = 0) in flat uint tri_idx0; 19 20void main() { 21 Mesh meshData = perPass_meshes.data[tri_idx0]; 22 23 vec3 vertex_pos0 = vec3(meshData.positions.data[3 * tri_idx0], 24 meshData.positions.data[3 * tri_idx0 + 1], 25 meshData.positions.data[3 * tri_idx0 + 2]); 26 27 out_fragColor = vec4(vertex_pos0, 1.0); 28} 29