View.setScale is supported in perspective mode.  However, in the
default case where (0,0,0) in view platform coordinates is centered
about the eye (view attach policy of NOMINAL_HEAD), a scale will have
no visible effect on the size of the object, due to perspective.  The
objects are getting smaller or larger, but they also are getting closer
or farther away.  This can cause objects to be clipped that otherwise
wouldn't, but those objects that are not clipped are drawn the same
apparent size.

--
Kevin Rushforth
Java 3D Team
Sun Microsystems

[EMAIL PROTECTED]


>Date: Fri, 14 Sep 2001 11:26:11 +0200
>From: "Dipl. Ing. Paul Szawlowski" <[EMAIL PROTECTED]>
>Subject: [JAVA3D] Bug or feature in View.setScale ?
>To: [EMAIL PROTECTED]
>
>Hi all,
>
>What is the reason that setScale is not supported in perspective
>projection ? I would like to set the distance eye point - image plate
>(which defines also the projection) e. g. with View . set FieldOfView.
>And then I would like to scale the whole scene with View.setScale which
>does not work. Or does it work only in certain Window eyepoint policies
>? There is no documentation  in the API about that.
>I know that I could use a TransformGroup with a scaling transformation
>as root of the scene graph. But what if I want to do that only for a
>single View ?
>
>regards
>Paul
>
>PS: Why do I want to do that ?
>This email from Kevin Rushfort helped me to solve my question about the
>focus plane in stereoscopic images (just asked a few days ago on this
>list). The focus plane is the image plate !
>
>***************************************************************
>Paul,
>
>The image plate is not the same thing as the front clipping plane.  The
>image plate is the plane of the screen, also used as the projection
>plane.  The front clipping plane can be specified relative to either
>the eye point or the screen (image plate) and is typically in front of
>the image plate (closer to the eye), but it could be specified right at
>the image plate if you wanted to.  If the front clipping plane is
>specified relative to physical eye, and you want the front clipping
>plane in world coordinates, you could get the eye point in image plate
>coordinates, subtract the front clipping distance from the z value of
>the eye point, and translate that to vworld using the inverse of
>getVworldToImagePlate.
>
>Hope this helps.
>****************************************************************
>
>Thanks Kevin ! It answered also different question.
>
>Since the image plate (=focus plane) defines which part of the scene
>seems to pop out of the screen and which part of the scene seems to be
>behind the screen I want to change the position of the image plate in
>the scene. This can be done either with moving the Viewplatform or by
>setting the eye point - image plate distance. But there are situations
>where the objects are just too big to be on the screen ads whole with a
>specific position of the image plate. The break of the depth cue isvery
>disturbing in this case. So if I could simply choose a different scale
>for the scene I could shrink (or grow) the objects to a good size for
>viewing.
>
>===========================================================================
>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".

===========================================================================
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