Is rebuilding/updating IAS required after updating GAS

I have a patch of ocean surface, which is required to update Geometric Acceleration Structure(GAS) every frame. Not sure how to avoid updating/rebuilding Instrance Acceleration Structure(IAS). From some experiments, it is obvious that updating IAS is necessary even transformation matrix is unchanged.

Could you give a pointer to some documentations show that how IAS works internally?

Hi, here is the OptiX 7 documentation for acceleration structures: https://raytracing-docs.nvidia.com/optix7/guide/index.html#acceleration_structures#acceleration-structures

That might not provide exactly what you’re asking for. The reason that your IAS needs to be rebuilt every frame is because the maximum extent - the outer bounds - of your ocean surface is changing every frame (i.e. the highest wave peak, and the lowest wave trough). The outer bounds of an instance are what get used to populate the IAS.

Typically, rebuilding the IAS is very fast, and not a performance bottleneck. You may also be able to refit your IAS rather than rebuild. Refitting is faster than rebuilding, but is only available when keeping the number of build inputs constant, and only helps when things haven’t moved a long way from where the acceleration structure was first built. If your only instance is the ocean mesh, then that definitely fits the criteria for refitting. (And BTW, in that case you can use refitting for the GAS as well as the IAS.)

If you want to avoid rebuilding your IAS, and your only moving object is your ocean mesh, you could potentially do this by building your GAS in a conservative pose - by making sure the mesh you use for building your GAS has the largest bounding box you will ever need for any frame. This probably means having the highest wave height possible and the lowest wave height possible at the same time in your pose mesh - assuming the lateral bounds aren’t moving at all. If you do that, then you should be able to rebuild the GAS for a given frame, and since it will have a strictly equal or smaller extent, you should be able to safely skip your IAS rebuild or refit.


David.

Thanks for you quick reply! It is a clear explaination.