yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
8a6b381c
main
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 = hitObjectGetSpherePositionNV(hObj); 18 rad = hitObjectGetSphereRadiusNV(hObj); 19 20 hitObjectGetLSSPositionsNV(hObj, lss_pos); 21 hitObjectGetLSSRadiiNV(hObj, lss_rad); 22 23 isSphereHit = hitObjectIsSphereHitNV(hObj); 24 isLSSHit = hitObjectIsLSSHitNV(hObj); 25 26 pos = rayQueryGetIntersectionSpherePositionNV(rq, true); 27 pos = rayQueryGetIntersectionSpherePositionNV(rq, false); 28 29 rad = rayQueryGetIntersectionSphereRadiusNV(rq, true); 30 rad = rayQueryGetIntersectionSphereRadiusNV(rq, false); 31 32 rayQueryGetIntersectionLSSPositionsNV(rq, true, lss_pos); 33 rayQueryGetIntersectionLSSPositionsNV(rq, false, lss_pos); 34 35 rayQueryGetIntersectionLSSRadiiNV(rq, true, lss_rad); 36 rayQueryGetIntersectionLSSRadiiNV(rq, false, lss_rad); 37 38 hitVal = rayQueryGetIntersectionLSSHitValueNV(rq, true); 39 hitVal = rayQueryGetIntersectionLSSHitValueNV(rq, false); 40 41 isSphereHit = rayQueryIsSphereHitNV(rq, true); 42 isSphereHit = rayQueryIsSphereHitNV(rq, false); 43 44 isLSSHit = rayQueryIsLSSHitNV(rq, true); 45 isLSSHit = rayQueryIsLSSHitNV(rq, false); 46 47 pos = gl_HitSpherePositionNV; 48 rad = gl_HitSphereRadiusNV; 49 50 lss_pos = gl_HitLSSPositionsNV; 51 lss_rad = gl_HitLSSRadiiNV; 52 53 isSphereHit = gl_HitIsSphereNV; 54 isLSSHit = gl_HitIsLSSNV; 55 56}