yum-mirror/glslang

git clone https://git.yummers.dev/yum-mirror/glslang

alelenvAdd support for GL_NV_linear_swept_spheres.8a6b381c

main
1.4 KiB47 linesraw
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}