Introducing the UnifiedRayTracing API

I’ve been looking forward to seeing this made available ever since the light transport library package first started showing up. Congrats on taking these first steps towards publishing unified RT!

After some experimenting over the past couple of weeks with the API, there are a couple of thoughts I’d like to share. I have not tested this on anything other than macOS with Metal, so perhaps some of this might be a case of YMMV.

Firstly, it seems like we won’t be able to fetch geometry attributes (normals, uvs, etc.) until AccelStructAdapter is made public. Any timeline on this? As is, it feels like we aren’t able to do much until this is available.

Next, when using “useCPUBuild” in the AccelerationStructureOptions, it seems like something is incorrect with the transformation matrices of the instances. Queries do hit geometry, but not in world space.

Finally, while queries seem to work most of the time when “useCPUBuild” is disabled, in some cases I’m getting some misses that seem incorrect (see the edges of the selected cubes in the following screenshot). Any thoughts on what might be going wrong?

Thanks for the communication, and really looking forward to seeing this further developed! I’ve been wanting to deliver RT graphics features on platforms like WebGL for some time now, and would much rather use this over continuing to maintain my own compute RT and BVH solution.

1 Like