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