1#version 460 2#extension GL_NV_ray_tracing : enable 3#extension GL_EXT_nonuniform_qualifier : enable 4layout(binding = 0, set = 0) uniform accelerationStructureNV accNV0[]; 5layout(binding = 1, set = 0) uniform accelerationStructureNV accNV1[2]; 6layout(location = 0) rayPayloadNV vec4 payload; 7layout(shaderRecordNV) buffer block 8{ 9 vec3 dir; 10 vec3 origin; 11 int i; 12}; 13void main() 14{ 15 uint lx = gl_LaunchIDNV.x; 16 uint ly = gl_LaunchIDNV.y; 17 uint sx = gl_LaunchSizeNV.x; 18 uint sy = gl_LaunchSizeNV.y; 19 traceNV(accNV0[i], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1); 20 traceNV(accNV1[i], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1); 21 traceNV(accNV0[nonuniformEXT(i)], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1); 22} 23