//---+----4----+----3----+----2----+----1----+---/\---+----1----+----2----+----3----+----4----+---\\
//--------------------------------------- Cam_Vu::draw -----------------------------------------
void Cam_Vu::draw (void)
{
float cam[3], asp = w() / h(), nlit[4];
static float nospec[4] = {0,0,0,0};
cam[0] = cameraPosition[0];
cam[1] = cameraPosition[1];
cam[2] = cameraPosition[2];
glMatrixMode (GL_PROJECTION);
glLoadIdentity ();
gluPerspective (40.0f, asp, 2.0f, 8.0f);
gluLookAt (cam[0],cam[1],cam[2], 0,0,0, 0,1,0);
glViewport (0, 0, w(), h());
glMatrixMode (GL_MODELVIEW);
glLoadIdentity ();
glClearColor (0.05, 0.20, 0.05, 1.0);
glEnable (GL_DEPTH_TEST);
glEnable (GL_NORMALIZE );
glEnable (GL_CULL_FACE );
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
Show_Light ();
if (lighting) {
Light_Source ();
glEnable (GL_LIGHT1);
glEnable (GL_LIGHTING);
glEnable (GL_COLOR_MATERIAL);
glMaterialfv (GL_FRONT, GL_SPECULAR, wyte_spc);
glMaterialf (GL_FRONT, GL_SHININESS, 40.0f);
glColorMaterial (GL_FRONT, GL_AMBIENT_AND_DIFFUSE);
nlit[0] = lightPosition[0];
nlit[1] = lightPosition[1];
nlit[2] = lightPosition[2];
nlit[3] = 1.0;
glLightfv (GL_LIGHT1, GL_POSITION, nlit);
}
Draw_Objects ();
Window_Title (1.0, 97.0, linen, "From Camera");
}
//---+----4----+----3----+----2----+----1----+---/\---+----1----+----2----+----3----+----4----+---\\
//---------------------------------------- God_Vu::draw -----------------------------------------
void God_Vu::draw (void)
{
glMatrixMode (GL_PROJECTION);
glLoadIdentity ();
gluPerspective (40.0, (w()/h()), 2.0, 8.0);
glViewport (0, 0, w(),h());
glMatrixMode (GL_MODELVIEW);
glLoadIdentity ();
glEnable (GL_DEPTH_TEST);
glEnable (GL_NORMALIZE );
glEnable (GL_CULL_FACE );
glClearColor (0.05, 0.05, 0.20, 1.0);
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glTranslatef (vu_hor, vu_ver, -5.0);
glRotatef (vu_tip, 1,0,0);
glRotatef (vu_trn, 0,1,0);
glScalef (vu_scl, vu_scl, vu_scl);
Show_Light ();
Show_Camera ();
Light_Source();
glEnable (GL_COLOR_MATERIAL);
glMaterialfv (GL_FRONT , GL_SPECULAR, wyte_spc);
glMaterialf (GL_FRONT , GL_SHININESS, 40.0f);
glColorMaterial(GL_FRONT , GL_AMBIENT_AND_DIFFUSE);
glLightfv (GL_LIGHT1, GL_POSITION, lyte_pos);
Draw_Objects ();
glPopMatrix();
Window_Title (1.0, 97.0, linen, "God's Eye");
}