• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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