Implementing dynamic foveated rendering using Qualcomm’s fragment density map Offset extension
In the Implementing static foveated rendering with a fragment density map recipe, we discussed how to render fragments at a lower density than one fragment per pixel using a map that dictates the fragment density for regions of the render target. Although useful, the application of a static map is limited because the user’s gaze changes as they look around to inspect the scene displayed on the device. Recomputing and modifying the map for each frame, based on the user’s input, may be computationally expensive and tax the CPU with extra work, making the performance gained with the FDM moot.
Another option is to apply an offset to the static FDM and let the GPU perform the heavy lifting of translating the densities from the map to the rendered scene. Thanks to Qualcomm’s FDM Offset device extension, this is possible.
In this recipe, we will show you how to...