Hello, I am working on a simulation to trace a single type of ray traversing through meshes, spheres, and capsules in 3D space, to determine what materials a ray of light might pass through and how much energy from it is absorbed by different materials.
Currently my simulation is designed such that an instance acceleration structure is created to combine handles from three GAS:
- an enclosed triangular surface mesh, (Triangle GAS)
- a set of spheres superimposed upon the triangle meshes, (Sphere GAS)
- and a set of capsules superimposed upon the triangle meshes (Custom GAS).
There is one instance acceleration structure for tracking rays entering the superimposed 3D primitives, and one instance acceleration structure for tracking rays exiting the primitives.
Currently I am not getting any calls to the closesthit device function, which I rely on for tracking these intersections. Do you know what could be causing this issue and what some next steps are for diagnosing the bug?
I saw in the documentation that “OptiX uses handles as references to traversable objects. These traversable handles are 64-bit opaque values that are generated from device memory pointers for the graph nodes. The handles identify the connectivity of these objects.”
Could you explain further how the connectivity of the traversable handles and calls to optixTrace determine which AABB trigger closesthit?
Edit:
If you can point me towards debugging or logging features for the acceleration structure setup, that could be helpful as well.
Thanks,
Aiden