1617a3babSopenharmony_ci#version 460 2617a3babSopenharmony_ci#extension GL_EXT_ray_tracing : enable 3617a3babSopenharmony_ci 4617a3babSopenharmony_cihitAttributeEXT vec3 attribs; 5617a3babSopenharmony_cilayout(location = 0) rayPayloadInEXT vec3 hitValue; 6617a3babSopenharmony_cilayout(set = 0, binding = 0, r32i) uniform iimage3D result; 7617a3babSopenharmony_ci 8617a3babSopenharmony_civoid main() 9617a3babSopenharmony_ci{ 10617a3babSopenharmony_ci float k = 1048576.0f; 11617a3babSopenharmony_ci int ndx = -1; 12617a3babSopenharmony_ci for (int col = 0; col < 3; col++) 13617a3babSopenharmony_ci for (int row = 0; row < 4; row++) 14617a3babSopenharmony_ci { 15617a3babSopenharmony_ci ndx++; 16617a3babSopenharmony_ci ivec3 p = ivec3(gl_LaunchIDEXT.xy, ndx); 17617a3babSopenharmony_ci float r = k * gl_WorldToObject3x4EXT[col][row]; 18617a3babSopenharmony_ci ivec4 c = ivec4(int(r),0,0,1); 19617a3babSopenharmony_ci imageStore(result, p, c); 20617a3babSopenharmony_ci } 21617a3babSopenharmony_ci} 22