1#version 460
2#extension GL_EXT_ray_tracing : enable
3#extension GL_EXT_ray_flags_primitive_culling : enable
4layout(binding = 0) uniform accelerationStructureEXT accEXT0;
5layout(binding = 1, set = 0) uniform accelerationStructureEXT accEXT1; // Unused
6layout(binding = 2, r32ui) shadercallcoherent uniform uimage2D imageu;
7layout(location = 1) rayPayloadEXT vec4 payload;
8layout(shaderRecordEXT) buffer block
9{
10	vec3 dir;
11	vec3 origin;
12
13};
14layout(primitive_culling);
15void main()
16{
17    uint lx = gl_LaunchIDEXT.x;
18    uint ly = gl_LaunchIDEXT.y;
19    uint sx = gl_LaunchSizeEXT.x;
20    uint sy = gl_LaunchSizeEXT.y;
21    traceRayEXT(accEXT0, lx, ly, sx, sy, gl_RayFlagsSkipTrianglesEXT | gl_RayFlagsSkipAABBEXT, origin, 0.5f, dir, 0.75f, 1);
22}
23