Isaac Sim Version
4.5.0
Operating System
Ubuntu 22.04
Hi All,
I’m working on a project that requires detailed simulation of multipath effects for a time-of-flight camera model. I need to trace light rays through multiple bounces and collect data (hit positions, surface normals, etc.) at each intermediate hit point, not just the first hit.
Current Understanding:
- I can see that the “RTX - Interactive (Path Tracing)” renderer supports multiple bounces (Max Bounces = 4 in the settings UI)
- I’m aware of standard raycast functions like
omni.physx.get_physx_interface().raycast_closest() that return only first hit information
- I found a forum post (here: Ray-tracing to simulate mesh-networks - Omniverse / Isaac Sim - NVIDIA Developer Forums) from 2+ years ago suggesting the need to manually implement bounce logic using iterative raycasts
What I’m Looking For:
Is there any way to access the intermediate bounce data that the path tracer is clearly calculating internally? For example, an API function that returns an array of hit points for a single ray trace through multiple bounces?
I’m specifically looking for:
- Any functions in the current API that might return full ray paths with multiple bounces
- Any extensions or upcoming features that might support this
- If no direct method exists, what would be the most efficient approach to implement this manually?
Any guidance would be greatly appreciated - even confirmation that this isn’t currently possible would help us finalise our approach.
Thanks in advance!
Seamus
Hi @seamus.okeeffe. Welcome to the community. Let me reach out to our internal team about your question.
1 Like
Hi @seamus.okeeffe unfortunately it doesn’t seem that there is an easy way to get access intermediate ray bounce data.
Hi @zhengwang,
Thank you for following up.
Would the approach described in my earlier thread (https://forums.developer.nvidia.com/t/ray-tracing-to-simulate-mesh-networks/238644/2)—using iterative raycasts at each intersection point and calculating the emergence angle from the ray direction and surface normal—still be the recommended workaround? Or are there any recent updates or alternative methods you’d suggest?
Thanks again for your help,
Seamus
Hi @seamus.okeeffe. That sounds reasonable. Please give it a try. If you see any issues, please feel free to reach out.
Recently we have released warp and here is an example implementation of raycasting using warp.
Warp includes basic ray tracing primitives (e.g., ray-mesh intersection) that can be used to build custom ray tracing pipelines. However, Warp is not a rendering framework and does not leverage hardware RT cores (like those used by RTX renderers). It’s designed for simulation and geometry processing, not real-time or photorealistic rendering. Warp comes with a lightweight OpenGL-based renderer for debugging and quick visualization purposes.
Warp doesn’t provide the functionality you are looking for but might be helpful if you implement iterative raycasts.
Hello!
We noticed that this topic hasn’t received any recent responses, so we are closing it for now to help keep the forum organized.
If you’re still experiencing this issue or have additional questions, please feel free to create a new topic with updated details. When doing so, we recommend mentioning or linking to this original topic in your new post—this helps provide context and makes it easier for others to assist you.
Thank you for being part of the NVIDIA Isaac Sim community.
Best regards,
The NVIDIA Isaac Sim Forum Team