Weird that UE also implements this as purely postprocessing filter. Surely there is more efficient way to render directly using panini projection, or at least something closer to it? Could you do it in vertex shader or something
You can kinda do it in the vertex shader, but the geometry would have to be very finely tessellated for the curve to look right since each individual triangle would still have straight edges. Alternatively you could raytrace the camera instead, which makes it trivial to use any projection, but that's a non-trivial departure from how most engines work. Post-process is the least intrusive way to do it.
I'm not sure what HYPER DEMON does, it's built on a custom engine so they could really specialize into the crazy FOV if they wanted to.
You can kinda do it in the vertex shader, but the geometry would have to be very finely tessellated for the curve to look right since each individual triangle would still have straight edges. Alternatively you could raytrace the camera instead, which makes it trivial to use any projection, but that's a non-trivial departure from how most engines work. Post-process is the least intrusive way to do it.
I'm not sure what HYPER DEMON does, it's built on a custom engine so they could really specialize into the crazy FOV if they wanted to.