1234567891011121314151617181920212223 |
- #version 460
- #extension GL_NV_ray_tracing : enable
- #extension GL_EXT_nonuniform_qualifier : enable
- layout(binding = 0, set = 0) uniform accelerationStructureNV accNV0[];
- layout(binding = 1, set = 0) uniform accelerationStructureNV accNV1[2];
- layout(location = 0) rayPayloadNV vec4 payload;
- layout(shaderRecordNV) buffer block
- {
- vec3 dir;
- vec3 origin;
- int i;
- };
- void main()
- {
- uint lx = gl_LaunchIDNV.x;
- uint ly = gl_LaunchIDNV.y;
- uint sx = gl_LaunchSizeNV.x;
- uint sy = gl_LaunchSizeNV.y;
- traceNV(accNV0[i], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
- traceNV(accNV1[i], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
- traceNV(accNV0[nonuniformEXT(i)], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
- }
|