Jean BENOIT (101372.3460++at++CompuServe.COM)
06 Nov 96 05:35:32 EST
To do that, I modify the perfly sources :
gui.c : in the case GUI_FOV :
------------------------------
/* all channels share this new FOV */
pfChanFOV(ViewState->masterChan, 40., 30.);
/* all channels have a positional offset of zero */
pfSetVec3(xyz, 0.0f, 0.0f, 0.0f);
/* set each channel's rotational offset */
/*
for (c = 0; c < NumChans; c++)
{
pfSetVec3(hpr, (((NumChans - 1)*0.5f) - c)*fov, 0.0f, 0.0f);
pfChanViewOffsets(Chan[ChanOrder[c]], xyz, hpr);
}
*/
generic.c : On InitChannel()
----------------------------
I replace
for (i=0; i< NumChans; i++)
{
pfSetVec3(hpr, (((NumChans - 1)*0.5f) - i)*fov, 0.0f, 0.0f);
pfChanViewOffsets(Chan[ChanOrder[i]], xyz, hpr);
}
by
if ( NumChans!=4)
for (i=0; i< NumChans; i++)
{
pfSetVec3(hpr, (((NumChans - 1)*0.5f) - i)*fov, 0.0f, 0.0f);
pfChanViewOffsets(Chan[ChanOrder[i]], xyz, hpr);
}
else
for (i=0; i< 2; i++)
for (j=0; j< 2; j++)
{
pfSetVec3(hpr, -((-(NumChans/2 - 1)*0.5f) + j)*40.,
((-(NumChans/2 - 1)*0.5f) + i)*30.,
0.0f);
pfChanViewOffsets(Chan[ChanOrder[2*i+j]], xyz, hpr);
}
}
I run the application with perfly -g 0 -c 4 <bdd file>
What do you think about this solution and the result : Is it a bug ?
or is it a problem of approximation in the processing of the perspective ?
Yoel HALLAKOUN V.S.M
=======================================================================
List Archives, FAQ, FTP: http://www.sgi.com/Technology/Performer/
Submissions: info-performer++at++sgi.com
Admin. requests: info-performer-request++at++sgi.com
This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:53:53 PDT