> Date:         Tue, 21 Dec 1999 14:09:38 +0100
> From: Hardy Henneberg <[EMAIL PROTECTED]>
>
> [...]
> I think, that in many applications the vertical (normally Y) dimension
> should be treated different from the horizontally ( x and z ) regarding to
> perspective, so vertical lines in the virtual world transforms into
> vertical lines on the screen.
> [...]
> I would appreciate comments on this technical aspect as well as comments
> on the usability/need for this kind of perspective.

I haven't tried your application yet, but it sounds like what you're trying
to accomplish is the 2-point perspective projection commonly used in
drafting and architectural representations.

If you have the OpenGL man pages available, take a look at the man for
glFrustum.  A 2-point perspective projection which keeps vertical lines
parallel can be achieved by offseting the top and bottom clipping planes
along Y.

The typical usage of glFrustum is keep the left, right, top, and bottom
clipping planes symmetrical about the eyepoint of [0 0 0], but if you offset
the planes you can skew the view frustum.  This is equivalent to moving the
center of projection away from the view direction.  The effect is as if you
were using an architectural view camera which allows you to tilt the film
plane about the lens axis, and a common application is keeping the sides
buildings parallel when photographing them from street level.

Of course you can't use glFrustum directly in a J3D application, but the man
page shows how the resulting perspective matrix is computed, and you should
be able to modify that for your own custom projections.

-- Mark Hood

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to