• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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