FW: 3 channels and pfEarthSky

New Message Reply Date view Thread view Subject view Author view

From: Anthony Bavuso (a.t.bavuso++at++larc.nasa.gov)
Date: 11/30/2000 08:42:52


Attached is a test program built off of the example program multiChan.C that
demonstrates my observations listed in the message below. I ran this on my
Octane and observed the same results as stated in my previous message.

> -----Original Message-----
> From: Anthony Bavuso [SMTP:a.t.bavuso++at++larc.nasa.gov]
> Sent: Wednesday, November 22, 2000 1:43 PM
> To: info-performer++at++sgi.com
> Subject: 3 channels and pfEarthSky
>
> I am having problems with using pfEarthSky in three channels. I have read
> through the archives and found a similar problem to mine in 1999 with the
> subject 'Whatever happened to "Earthsky with 3 channels"' But I did not
> find a good solution that I can use.
>
> I am displaying an out the cockpit terrain database scene on 3 channels on
> 3
> pipes on an Onyx2 each channel having a 40 degree field of view and when
> combined has a total of 120 degree field of view. The 0 channel is on the
> left, the 1 channel is the center, and the 2 channel is on the right. The
> channels are in a channel group with channel 1 as the master and channels
> 0
> and 2 and slaves. My display projectors are all tiled 90 degrees for
> hardware reasons so I use pfChannel::setViewOffsets to offset each channel
> in roll and heading.
>
> ChannelNumber HeadingOffset PitchOffset RollOffset
> 0 (left) 40 0 -90
> 1 (center) 0 0 -90
> 2 (right) -40 0 -90
>
> When I share a common pfEarthSky set to the master channel, I observer the
> following: the sky on the left channel is black, the sky on the center
> channel is correct, and the sky on the right channel is deep blue.
>
> To me it looks like what is happening is that the pfEarthSky performs the
> view offset rotations in a different order than the pfChannel applies them
> for the eyepoint. It looks like the pfEarthSky first performs the roll
> rotation, then performs the heading rotation. Which explains why on my
> left
> channel I am rotated sideways in roll and then down in heading to see only
> black. On the right channel I am rotated sideways in roll and then up in
> heading to see the deep blue sky of the pfEarthSky model near the top of
> the
> sky.
>
> My guess is that the pfEarthSky object does not directly use the
> pfChannels
> offset view matrix but instead uses the pfVec3s set by
> pfChannel::setViewOffsets(pfVec3& xyz, pfVec3& hpr) to compute an offset
> view matrix, but it performs the hpr rotations in a different order.
> Unfortunately I cannot verify if my guess is correct. If I was given the
> ability to set the pfChannels view offset matrix directly I could test
> this
> theory, but strangely pfChannel does not have a setViewOffsetMat method.
>
> Can anyone who has the source code of pfEarthSky available to them confirm
> or dis-confirm this theory?
>
> Based on the suggestions from the archive article I tried unsharing
> pfEarthSky, and setting each channel's earthsky individually. I tried
> having three different earth sky models and setting each channel's earth
> sky
> individually. Each time the results observed were the same as described
> above.
>
> Any suggested solutions? I know one solution would be to manually compute
> the offset view matrix for each channel and set it with
> pfChannel::setViewMat which I believe would solve the problem. But that
> solution takes away almost all of the convenience of sharing channels in a
> channel group. Any other suggestions?




New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Thu Nov 30 2000 - 08:38:10 PST

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