RE: 3 channels and pfEarthSky

New Message Reply Date view Thread view Subject view Author view

From: Subr Robert C Contr AFRL/HEC (Robert.Subr++at++wpafb.af.mil)
Date: 11/22/2000 11:37:29


Anthony,

I have found this also. My solution was to NOT use the build in Performer
offsets for the channels and do the calculations for the offsets then pass
it into the channels manually.

thx.

Rob

> -----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?
>
>
>
>
> -----------------------------------------------------------------------
> List Archives, FAQ, FTP: http://www.sgi.com/software/performer/
> Submissions: info-performer++at++sgi.com
> Admin. requests: info-performer-request++at++sgi.com


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Wed Nov 22 2000 - 11:43:05 PST

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