• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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