1617a3babSopenharmony_ci#version 460
2617a3babSopenharmony_ci#extension GL_EXT_ray_tracing : enable
3617a3babSopenharmony_ci#extension GL_EXT_ray_query : enable
4617a3babSopenharmony_ci#extension GL_NV_displacement_micromap : enable
5617a3babSopenharmony_cilayout(binding = 1) uniform accelerationStructureEXT as;
6617a3babSopenharmony_cilayout(binding = 0) buffer block {
7617a3babSopenharmony_ci	vec3 op_pos;
8617a3babSopenharmony_ci	vec2 op_bary;
9617a3babSopenharmony_ci	uint op_hit;
10617a3babSopenharmony_ci};
11617a3babSopenharmony_civoid main()
12617a3babSopenharmony_ci{
13617a3babSopenharmony_ci	op_pos =  gl_HitMicroTriangleVertexPositionsNV[0];
14617a3babSopenharmony_ci	op_pos += gl_HitMicroTriangleVertexPositionsNV[1];
15617a3babSopenharmony_ci	op_pos += gl_HitMicroTriangleVertexPositionsNV[2];
16617a3babSopenharmony_ci
17617a3babSopenharmony_ci	op_bary =  gl_HitMicroTriangleVertexBarycentricsNV[0];
18617a3babSopenharmony_ci	op_bary += gl_HitMicroTriangleVertexBarycentricsNV[1];
19617a3babSopenharmony_ci	op_bary += gl_HitMicroTriangleVertexBarycentricsNV[2];
20617a3babSopenharmony_ci
21617a3babSopenharmony_ci	op_hit = gl_HitKindEXT;
22617a3babSopenharmony_ci	op_hit &= gl_HitKindFrontFacingTriangleEXT |
23617a3babSopenharmony_ci	          gl_HitKindBackFacingTriangleEXT |
24617a3babSopenharmony_ci	          gl_HitKindFrontFacingMicroTriangleNV |
25617a3babSopenharmony_ci	          gl_HitKindBackFacingMicroTriangleNV;
26617a3babSopenharmony_ci}
27