But it's always in a postprocessing pass, in a form of correction of the native linear perspective.
My proposal would be to implement the curvilinear perspective as a WHOLE alternative to the linear one, not just correct it.
It is not possible, due to how OpenGL works.
There is perspective 4x4 matrices, perspective division (clip -> ndc coords), all this is baked into rendering pipeline.
You cannot magically change all this for some nonlinear math, except if you wish to drop OpenGL and implement your own rendering engine directly on CUDA or OpenCL.
With this curvilinear perspective even 3D triangles are no longer triangles on-screen (if I'm not mistaken), so GPU cannot rasterize them as it usually does.
The only possibility is to render something in traditional perspective, then bind the obtained picture as texture and perform full-screen post-processing to get bended view.
So you either render player's view as usual and then stretch it, or you render cubemap (much slower) and then apply post-processing to it.
If there is a clear place where this postprocessing could be applied, then I guess it won't need much changes in renderer.
If it is so, someone can try to implement it even now (for 2.07) under cvar.