Traditional Projection vs Equirectangular Projection

So, a guy over on /r/gamedev posted this gif:

Which shows a comparison with Traditional FOV and this Equirectangular FOV. Does anyone know anything about this technique and how UE4 handles it? If the UE4 handles it the traditional way, does anyone want to look into how to get Equirectangular? It looks like it would wield great benefits for VR development and just peripheral vision in general.

Would it be hard to implement as native support?

I’ve read a bit further and it seems this type of FOV was not possible to support until recently because of hardware limitations. Could be two alternative FOV options.

We don’t support this natively in the engine, but if you wanted to pursue equirectangular projection with VR, the best place to hook it up would be in the stereo projection matrix code. If you want to test in a device-agnostic way, check out the FFakeStereoRenderingDevice. You could make your own equirectangular projection code in there (GetStereoProjectionMatrix), and then move it to device specific implementations if you get something you’re happy with!

It could be implemented natively in the engine with a little work. I’m not super familiar with the implementation of the technique, but I don’t know that we’ll pursue this internally in the near future for our FOV. For the VR devices, we stick with device-defined FOV to ideally match the visual field with the actual geometry of the device. The equirectangular FOV is a different style of FOV, but the distortion it causes near the poles is generally undesirable for what we’re trying to do internally.

If someone does implement support for it though, submit a pull request through GitHub, and we’d be happy to take a look!