#version 460 #extension GL_EXT_ray_tracing : enable #extension GL_EXT_ray_query : enable #extension GL_NV_displacement_micromap : enable layout(binding = 1) uniform accelerationStructureEXT as; layout(binding = 0) buffer block { vec3 op_pos; vec2 op_bary; uint op_hit; }; void main() { op_pos = gl_HitMicroTriangleVertexPositionsNV[0]; op_pos += gl_HitMicroTriangleVertexPositionsNV[1]; op_pos += gl_HitMicroTriangleVertexPositionsNV[2]; op_bary = gl_HitMicroTriangleVertexBarycentricsNV[0]; op_bary += gl_HitMicroTriangleVertexBarycentricsNV[1]; op_bary += gl_HitMicroTriangleVertexBarycentricsNV[2]; op_hit = gl_HitKindEXT; op_hit &= gl_HitKindFrontFacingTriangleEXT | gl_HitKindBackFacingTriangleEXT | gl_HitKindFrontFacingMicroTriangleNV | gl_HitKindBackFacingMicroTriangleNV; }