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