Is it possible to do time resolved ray tracing with Optix?


I was wondering if optics can do what I want before I spend the time diving deeply into it. I want to do time resolved ray tracing, i.e to be able to tell at each pixel how much light arrived within a small time span (i.e to build an x-y-time sensor rather than just an x-y sensor) rather than assume that light speed is infinite as is usually done.

As optix claims to also be able to do acoustics I thought that it may be possible but wanted to make sure.

also, is it possible to limit the number of bounces computer? I want to ignore complex paths (I need results from single and/or triple bounces only for different applications).


I don’t know enough about implementation techniques for time resolved ray tracing to comment if it’s possible with OptiX.

The number of bounces is completely under your control since you do a “bounce” by launching (one or more) new rays from an intersection. Each ray can carry user defined “per ray data” where you can keep count of the number of bounces a specific ray has been through and stop spawning new rays when you reach a limit.

In such a case, to make it happen I need to be able for a given x,y pixel to set the z value based on the path lengths, where they may be multiple z values for a given x,y coordinate. Does that sound possible?

Yes, the per-ray payload and the format of the output data are user defined. As long as the maximum number of data entries you require per output can be determined beforehand (no dynamic allocations) only memory is your limit.