1#version 460 2#extension GL_EXT_ray_tracing : enable 3#extension GL_NV_shader_sm_builtins : enable 4#extension GL_KHR_shader_subgroup_ballot : enable 5#extension GL_ARB_shader_ballot : enable 6#extension GL_NV_shader_sm_builtins : enable 7#extension GL_ARB_sparse_texture_clamp: enable 8#extension GL_EXT_ray_cull_mask : enable 9 10layout(binding = 0, set = 0) uniform accelerationStructureEXT accEXT; 11layout(location = 0) rayPayloadEXT vec4 localPayload; 12layout(location = 1) rayPayloadInEXT vec4 incomingPayload; 13 14layout(binding = 1, set = 0) uniform sampler2D s2D; 15layout(location = 2) in vec2 c2; 16layout(location = 3) in float lodClamp; 17 18void main() 19{ 20 uvec3 v0 = gl_LaunchIDEXT; 21 uvec3 v1 = gl_LaunchSizeEXT; 22 vec3 v2 = gl_WorldRayOriginEXT; 23 vec3 v3 = gl_WorldRayDirectionEXT; 24 float v4 = gl_RayTminEXT; 25 float v5 = gl_RayTmaxEXT; 26 uint v6 = gl_CullMaskEXT; 27 traceRayEXT(accEXT, 0u, 1u, 2u, 3u, 0u, vec3(0.5f), 0.5f, vec3(1.0f), 0.75f, 1); 28 incomingPayload.x = float(gl_SubGroupSizeARB) + float(gl_SubgroupEqMask) + float(gl_WarpIDNV); 29 vec4 texel = textureGradOffsetClampARB(s2D, c2, c2, c2, ivec2(5), lodClamp); 30} 31