Steve Woolsey (woolsr++at++inel.gov)
Thu, 05 Nov 1998 11:18:51 -0700
void InitChannels()
{
float near, far, Iod, converge;
pfVec3 hprOffsets, xyzOffsets;
int xSize, ySize;
Iod = 2.0f; converge = 0.2f;
near = 1.0f; far = 10.0f*Shared->bsphere.radius+1000.0;
Shared->left = new pfChannel(pfGetPipe(0));
Shared->right = new pfChannel(pfGetPipe(0));
Shared->left->setScene(Shared->scene);
pfSphere bsphere;
Shared->scene->getBound(&bsphere);
Shared->left->setAutoAspect(PFFRUST_CALC_NONE);
Shared->left->setNearFar(near, far);
Shared->left->setFOV(45.0f, 0.0f);
Shared->left->attach(Shared->right);
Shared->left->setShare(PFCHAN_FOV | PFCHAN_SCENE |
PFCHAN_NEARFAR |
PFCHAN_LOD);
// Set CULL and DRAW functions
Shared->left->setTravFunc(PFTRAV_CULL, CullChannel);
Shared->left->setTravFunc(PFTRAV_DRAW, DrawChannel);
// Set up offsets for left and right channels for stereo viewing
float eyeAngle = PF_RAD2DEG(atanf(Iod*0.5f /
(converge*(far-near)+near)));
Shared->pw->getSize(&xSize, &ySize);
Shared->left->setViewport(0, xSize, 0, (int)(ySize/2)-1);
Shared->right->setViewport(0, xSize, (int)(ySize/2), ySize);
// Initialize EarthSky, fog, and sun model
InitEnviroment();
// left eye
hprOffsets.set(-eyeAngle, 0.0f, 0.0f);
xyzOffsets.set(-Iod/2.0f, 0.0f, 0.0f);
Shared->left->setViewOffsets(xyzOffsets, hprOffsets);
// right eye
hprOffsets.set(eyeAngle, 0.0f, 0.0f);
xyzOffsets.set(Iod/2.0f, 0.0f, 0.0f);
Shared->right->setViewOffsets(xyzOffsets, hprOffsets);
}
void InitEnviroment()
{
// Setup the Earth Sky model
if(esflag)
{
Shared->eSky = new pfEarthSky;
Shared->eSky->setMode(PFES_BUFFER_CLEAR, PFES_SKY_GRND);
Shared->eSky->setAttr(PFES_GRND_HT, -1.0);
Shared->left->setESky(Shared->eSky);
}
}
Thanks,
Steve
-------------------------------------------------------------------
Steven Woolsey Associate Engineer/Scientist
Lockheed Martin Idaho Technologies Visualization Engineer
Idaho National Engineering Lab. EMAIL: woolsr++at++inel.gov
P.O. Box 1625, M.S. 3605
Idaho Falls, ID 83415-3605
-------------------------------------------------------------------
This archive was generated by hypermail 2.0b2 on Thu Nov 05 1998 - 10:10:24 PST