1#version 460 2#extension GL_EXT_ray_tracing : enable 3#extension GL_NV_linear_swept_spheres : enable 4#extension GL_EXT_ray_query : enable 5#extension GL_NV_shader_invocation_reorder : enable 6void main() 7{ 8 hitObjectNV hObj; 9 rayQueryEXT rq; 10 vec3 pos; 11 vec3 lss_pos[2]; 12 float rad; 13 float lss_rad[2]; 14 float hitVal; 15 bool isSphereHit, isLSSHit; 16 17 pos = rayQueryGetIntersectionSpherePositionNV(rq, true); 18 pos = rayQueryGetIntersectionSpherePositionNV(rq, false); 19 20 rad = rayQueryGetIntersectionSphereRadiusNV(rq, true); 21 rad = rayQueryGetIntersectionSphereRadiusNV(rq, false); 22 23 rayQueryGetIntersectionLSSPositionsNV(rq, true, lss_pos); 24 rayQueryGetIntersectionLSSPositionsNV(rq, false, lss_pos); 25 26 rayQueryGetIntersectionLSSRadiiNV(rq, true, lss_rad); 27 rayQueryGetIntersectionLSSRadiiNV(rq, false, lss_rad); 28 29 hitVal = rayQueryGetIntersectionLSSHitValueNV(rq, true); 30 hitVal = rayQueryGetIntersectionLSSHitValueNV(rq, false); 31 32 isSphereHit = rayQueryIsSphereHitNV(rq, true); 33 isSphereHit = rayQueryIsSphereHitNV(rq, false); 34 35 isLSSHit = rayQueryIsLSSHitNV(rq, true); 36 isLSSHit = rayQueryIsLSSHitNV(rq, false); 37} 38