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