Dual-Paraboloid Reflections

Dual-Paraboloid Reflections is a technique used by GTA 5 to capture the enviroment. Instead of capturing 6 sided of a cubemap only two sided are needed to be updated.

With this technique the update cost of a skylight could be reduced and thus updated in realtime.

More information here: Graphics Runner: Dual-Paraboloid Reflections
and here: GTA V - Graphics Study - Adrian Courrèges

+1 for this… not a big fan of the current skylight implementation.

I’ve used paraboloid mapping some years ago. One of the main issues with it is that triangles which are relatively close to the camera and subsequently large in screen space are not wrapped correctly as their edges stay straight. Some details about this are here:
While it’s true that overall its faster to render into paraboloid maps that into cubemaps (I’ve used them for shadow mapping of point lights) the artifacts you get with them can be sever, like for example when due to the previously mentioned problem you can’t achieve proper seamless transition between hemispheres. This wasn’t a big issue for shadow mapping but can be an issue for reflections.

In any case, with the new features in 4.13 you should be able to do dual-paraboloid mapping yourself. There is ability now to render arbitrary meshes into SceneCapture2D dissociated with the main render pass. You will have to make your custom shader that will do paraboloid mapping in vertex shader or could try to achieve it using position offset. IMHO custom shader math would be much more straightforward.

Thanks BoredEngineer for the additional information.

Dual paraboloid maps for point lights sounds like a good optimation possibility for this technique.

Regarding the artifacts: I don’t know how severe these would be, but I imagine that they shouldn’t be so drastically, since I only need low frequency diffuse color from the sky and ground to fake global illumination.

As far as I know it is not possible to use the dynamic scene capture render target as a source for the skylight cubemap. I could use it in my materials, true, but then I break the PBR conversion, which is guranteed when using a skylight.