#version 460
#extension GL_EXT_ray_tracing : enable
#extension GL_EXT_ray_flags_primitive_culling : enable
#extension GL_EXT_opacity_micromap : enable
layout(binding = 0) uniform accelerationStructureEXT accEXT0;
layout(binding = 1, set = 0) uniform accelerationStructureEXT accEXT1; // Unused
layout(binding = 2, r32ui) shadercallcoherent uniform uimage2D imageu;
layout(location = 1) rayPayloadEXT vec4 payload;
layout(shaderRecordEXT) buffer block
{
	vec3 dir;
	vec3 origin;

};
layout(primitive_culling);
void main()
{
    uint lx = gl_LaunchIDEXT.x;
    uint ly = gl_LaunchIDEXT.y;
    uint sx = gl_LaunchSizeEXT.x;
    uint sy = gl_LaunchSizeEXT.y;
    traceRayEXT(accEXT0, lx, ly, sx, sy, gl_RayFlagsSkipTrianglesEXT | gl_RayFlagsSkipAABBEXT | gl_RayFlagsForceOpacityMicromap2StateEXT, origin, 0.5f, dir, 0.75f, 1);
}
