1#version 460 2#extension GL_EXT_ray_tracing : enable 3#extension GL_EXT_nonuniform_qualifier : enable 4#extension GL_ARB_gpu_shader_int64 : enable 5layout(binding = 0, set = 0) uniform accelerationStructureEXT accEXT0[]; 6layout(binding = 1, set = 0) uniform accelerationStructureEXT accEXT1[2]; 7layout(location = 1) rayPayloadEXT vec4 payload; 8layout(shaderRecordEXT) buffer block 9{ 10 vec3 dir; 11 vec3 origin; 12 int i; 13 uvec2 aHandle32; 14 uint64_t aHandle64; 15}; 16void main() 17{ 18 uint lx = gl_LaunchIDEXT.x; 19 uint ly = gl_LaunchIDEXT.y; 20 uint sx = gl_LaunchSizeEXT.x; 21 uint sy = gl_LaunchSizeEXT.y; 22 traceRayEXT(accEXT0[i], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1); 23 traceRayEXT(accEXT1[i], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1); 24 traceRayEXT(accEXT0[nonuniformEXT(i)], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1); 25 traceRayEXT(accelerationStructureEXT(aHandle32), lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1); 26 traceRayEXT(accelerationStructureEXT(aHandle64), lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1); 27} 28