Environment mapped ~180 FOV Projection Techniques

I’m searching for a fast approach to render out a spheremap without doing multiple viewpoints per render (e.g. Not doing a cube map and then warping each face to the spheremap with distorted textured quads).

Does anyone know if there are methods to setup a Projection matrix (or other transform math) to generate a 180 (or close to 180, say 165) degree FOV?

I searched the net a bit and all examples that use ‘Fish Eye’ lenses use a post-warp of a cube generated from 90 view frustums.

I realize that 4x4 matrices work with flat planar equations instead of a hemisphere, but perhaps there is an intruiging math technique that approximates the desired effect?

Any help much appreciated.

I think there will be no way, because only the vertices will be sent through the viewing matrix. But if you have e.g. a cube, it should appear round in the fish-eye lens -> That’s not possible, if only the 8 vertices are multiplied by the matrix.

Maybe it is possible, if you build such a cube out of many triangles. But it will only work, if you could set a fish-eqe projection in the projection matrix, which I don’t know :frowning:

… or building the cube using Trueform

PanQuake (PanQuake) has real fish-eyes view, but it renders whole scene several times using small slices of viewport.