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