On Fri, 06 Jul 2012 18:34:32 -0700, bob smith wrote:
> How can there be one point perspective and two point perspective?
>
> OpenGL only has one kind of perspective. What's the deal?
One/two/three-point perspective simply correspond to the number of axes
which aren't parallel to the projection plane.
They're only really relevant if the geometry is largely axis-aligned, i.e.
if a significant proportion of the edges are parallel to one of the three
axes of a grid (e.g. a 3D model of Manhattan).
If the "camera" Z axis is parallel to one of the three "world" axes, the
other two are parallel to the projection plane and you have a one-point
perspective. E.g. if you're looking north at a model built on a
compass-aligned grid, north-aligned edges will converge to a vanishing
point immediately ahead of the viewpoint, while east-aligned edges will be
parallel (no convergence) as will vertical edges.
If the camera Z axis is parallel to the ground plane but not to the north
or east axes, the vertical axis is parallel to the projection plane and
you have a two-point perspective, north-aligned and east-aligned edges
will each converge to their own vanishing point, while vertical edges will
be parallel.
If neither of the above hold, none of the axis are parallel to the
projection plane and you have a three-point perspective. north-aligned,
east-aligned and vertical edges will each converge to their respective
vanishing points.
OTOH, if the model was built on a grid of hexagons or triangles, you might
have four vanishing points: three for the horizontal lines and a fourth
for the vertical.
OpenGL doesn't care about any of this.