I follow the approach suggested by Alex, which was taken from the Mathematica documentation of ImageForwardTransformation. But the required explanation and changes to produce an actual fisheye view are too extensive to be included in a comment, so I write them here.
As mentioned in my comment to Alex's answer, the key is to use as the radial coordinate of the ImageForwardTransformation the angles between the objects in the scene, as seen from the observer. This would produce the ideal and most common fisheye view, which is the equidistant, or equiangle, fisheye. But other fisheye formulas can be used by simply replacing the angle with a function of angles.
The key is then to obtain angles to the centre of the view for the pixels in a Mathematica image. Mathematica uses standard perspective for which is easy to show (see figure below) that the angles are given by theta = ArcTan[R/d].

But to obtain proper angles from the image pixel units one has to consider the definition of ViewPoint and the bounding box of the Graphics3D object:
ViewPoint -> {x,y,z} gives the position of the view point relative to the center of the three‐dimensional box that contains the objects.
The view point is given in a special scaled coordinate system in which the longest side of the bounding box has length 1. The centre of the bounding box is taken to have coordinates {0,0,0}.
Other key steps for the fisheye view are (i) to place the ViewPoint orthogonal to the bounding box (two ViewPoint coordinates have to be zero), (ii) as close as possible (but at a finite distance) to the nearest side of the box and (iii) with ViewAngle -> All. This will produce an extremely distorted view, for a field of view close to 180 degrees, which can then be remapped into a fisheye view.
The image has to be rasterized at high pixels resolution, to account for the fact that the central part of the distorted image will appear much smaller than the outer parts, due to the large field of view. This, of course, results in a very inefficient procedure. An alternative would be to obtain different views, as Szabolcs suggested in his comments. But this would significantly complicate the procedure.
Following the above steps here is the proposed solution.
I take for illustration the amphitheatre proposed in my original question.
paraboloid[a_, u_, nu_] := {a Sqrt[u] Cos[nu], a Sqrt[u] Sin[nu], u}
a = 5;
h = 20;
gr1 = ParametricPlot3D[paraboloid[a, u, nu], {nu, 0, Pi}, {u, 0, h}];
gr2 = Graphics3D[
Table[Rotate[Cuboid[## - {1, 1, 0}, ## + {1, 1, 2}], nu, {0, 0, 1}, ##]
&[paraboloid[a, u, nu]],
{nu, 0, Pi, Pi/10}, {u, 2, h, 2}]];
Which appears as follow with default viewing parameters
Show[gr1, gr2]

and I show it from a very close distance to the bounding box side and using the full field of view
dist = 0.3;
gr = Show[gr1, gr2, ViewPoint -> {0, -dist, 0}, ViewAngle -> All];
img = Rasterize[gr, RasterSize -> 1000]
This produces the original very distorted (non fisheye) perspective, covering, in this case, a field of view of 169 degrees

This image can be remapped into an equidistant fisheye view, using ImageForwardTransformation as suggested by Alex, but with a proper fisheye transformation, as follow
f[point_, center_, edgeTan_] := With[
{r = Norm[point - center], ang = ArcTan @@ (point - center), radius = Max[center]},
rnew = radius*ArcTan[edgeTan*r/radius]/ArcTan[edgeTan];
center + rnew*{Cos[ang], Sin[ang]}]
rat = BoxRatios /. AbsoluteOptions[gr, BoxRatios];
ratios = rat/Max @@ rat;
center = ImageDimensions[img]/2;
edgeTan = (0.5 Max @@ ratios[[{1, 3}]])/(dist - 0.5 ratios[[2]]); (* Tan of edge )
ImageForwardTransformation[img, f[#, center, edgeTan] &, DataRange -> Full]
fov = 2 ArcTan[edgeTan]/Degree ( Image field of view for information *)
This produces the desired equidistant fisheye view, where I show in black the region outside the field of view of the original Mathematica projection

ViewPointreally close to the object. – David G. Stork Jan 07 '19 at 17:48ViewMatrixI'm not positive this will work, but I think it might be able to specify what you want. – N.J.Evans Jan 07 '19 at 17:52ViewPointdoes not change the perspective transformation. WhileViewMatrixonly allows for homogeneous transformations. In both cases, straight lines remain straight, which is not the case for the transformation required in fisheye view. – divenex Jan 07 '19 at 18:35ImageTransformation). You will need to derive the equations for the transform. It'll take some time but it's not a difficult one. Why is this not ideal? Because in practice the field of view of a rectilinear projection is limited, so you won't be able to get a 180-degree (or greater) view from a single rendering. – Szabolcs Jan 08 '19 at 13:14ViewAngle -> Allone would avoid the significant complication of combining multiple views. The perspective would be distorted but the full scene would be in one frame. What one needs is a way to convert pixel distances in a Mathematica perspective projection into angles to the observer of the original 3-dim scene. Of course there is standard theory for this, but a specific Mathematica documentation would help. – divenex Jan 08 '19 at 14:07