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