Re: your mail

New Message Reply Date view Thread view Subject view Author view

John Rohlf (jrohlf++at++tubes)
Fri, 20 May 94 8:25:57 PDT


>
> I am trying to set up a single pipe, 3 channel simulation which is
> based on Performer 1.2. The viewing frustrums are created by the off_axis
> projection command "pfMakePerspFrust", since the pilot's head movement
> eventually will have influence on the eyepoint.(A device "Polhemus" will
> provide the information about locations and orientations of the head)
>
> Nevertheless, I am having problem that the scene shown in side window is
> partially overlapped with the center window even though the offset rotation
> angle is exactly what it should be.( defined in pfChanViewOffsets)
> I rewrite the code with "pfChanFov" and kept every thing else the same,
> the scenes of 3 windows matched perfectly this time. I check the
> FOV created by "pfMakePerspFrust" and it is the same as what I used
> in "pfChanFOV". The eye location, the content of the scene shown in the
> center window, and the offset angle are the same in both cases.
> What can go wrong? Do I have to treat the "pfMakePerspFrust" differently
> than "pfChanFOV" even, at this moment, no off-axis projection is really
> happening?
         
        This is probably an artifact of automatic aspect ratio matching of the
view frustum to the viewport. If you specify both fov's to pfChanFOV,
then you disable this feature. Unfortunately, pfMakePerspFrust does
not disable this feature so your frustum will be mangled. The
solution is to disable aspect ratio matching by calling
pfChanAutoAspect(chan, PFFRUST_CALC_NONE) before calling
pfMakePerspFrust.

Notes:
        1. It is not necessary (or safe) to call pfApplyFrust.
        2. When attaching channels in a group, the attachee inherits
        the values of the attacher so pfAttachChan(Center, Left)
        means that Left will grab the fov of Center.


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:50:17 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.