1#version 460
2#extension GL_NV_displacement_micromap : enable
3#extension GL_NV_mesh_shader : enable
4#extension GL_EXT_ray_query : enable
5layout(max_vertices = 8, max_primitives = 16, triangles) out;
6layout(binding = 1) uniform accelerationStructureEXT as;
7layout(binding = 0) buffer block {
8	vec3 op_pos;
9	vec2 op_bary;
10};
11void main()
12{
13	op_pos =  fetchMicroTriangleVertexPositionNV(as, 1, 1, 1,	ivec2(0,0));
14	op_pos += fetchMicroTriangleVertexPositionNV(as, 1, 1, 1,	ivec2(0,1));
15	op_pos += fetchMicroTriangleVertexPositionNV(as, 1, 1, 1,	ivec2(1,0));
16
17	op_bary =  fetchMicroTriangleVertexBarycentricNV(as, 1, 1, 1, ivec2(0,0));
18	op_bary += fetchMicroTriangleVertexBarycentricNV(as, 1, 1, 1, ivec2(0,1));
19	op_bary += fetchMicroTriangleVertexBarycentricNV(as, 1, 1, 1, ivec2(1,0));
20}
21