1#version 460 2#extension GL_NV_displacement_micromap : enable 3#extension GL_EXT_ray_query : enable 4layout(binding = 1) uniform accelerationStructureEXT as; 5layout(binding = 0) buffer block { 6 vec3 op_pos; 7 vec2 op_bary; 8 uint op_hitmask; 9}; 10void main() 11{ 12 op_pos = fetchMicroTriangleVertexPositionNV(as, 1, 1, 1, ivec2(0,0)); 13 op_pos += fetchMicroTriangleVertexPositionNV(as, 1, 1, 1, ivec2(0,1)); 14 op_pos += fetchMicroTriangleVertexPositionNV(as, 1, 1, 1, ivec2(1,0)); 15 16 op_bary = fetchMicroTriangleVertexBarycentricNV(as, 1, 1, 1, ivec2(0,0)); 17 op_bary += fetchMicroTriangleVertexBarycentricNV(as, 1, 1, 1, ivec2(0,1)); 18 op_bary += fetchMicroTriangleVertexBarycentricNV(as, 1, 1, 1, ivec2(1,0)); 19 20 op_hitmask = gl_HitKindFrontFacingTriangleEXT | 21 gl_HitKindBackFacingTriangleEXT | 22 gl_HitKindFrontFacingMicroTriangleNV | 23 gl_HitKindBackFacingMicroTriangleNV; 24} 25