1617a3babSopenharmony_ci#version 460 2617a3babSopenharmony_ci#extension GL_NV_displacement_micromap : enable 3617a3babSopenharmony_ci#extension GL_NV_mesh_shader : enable 4617a3babSopenharmony_ci#extension GL_EXT_ray_query : enable 5617a3babSopenharmony_cilayout(max_vertices = 8, max_primitives = 16, triangles) out; 6617a3babSopenharmony_cilayout(binding = 1) uniform accelerationStructureEXT as; 7617a3babSopenharmony_cilayout(binding = 0) buffer block { 8617a3babSopenharmony_ci vec3 op_pos; 9617a3babSopenharmony_ci vec2 op_bary; 10617a3babSopenharmony_ci}; 11617a3babSopenharmony_civoid main() 12617a3babSopenharmony_ci{ 13617a3babSopenharmony_ci op_pos = fetchMicroTriangleVertexPositionNV(as, 1, 1, 1, ivec2(0,0)); 14617a3babSopenharmony_ci op_pos += fetchMicroTriangleVertexPositionNV(as, 1, 1, 1, ivec2(0,1)); 15617a3babSopenharmony_ci op_pos += fetchMicroTriangleVertexPositionNV(as, 1, 1, 1, ivec2(1,0)); 16617a3babSopenharmony_ci 17617a3babSopenharmony_ci op_bary = fetchMicroTriangleVertexBarycentricNV(as, 1, 1, 1, ivec2(0,0)); 18617a3babSopenharmony_ci op_bary += fetchMicroTriangleVertexBarycentricNV(as, 1, 1, 1, ivec2(0,1)); 19617a3babSopenharmony_ci op_bary += fetchMicroTriangleVertexBarycentricNV(as, 1, 1, 1, ivec2(1,0)); 20617a3babSopenharmony_ci} 21