Display object in just a certain viewport

Posted by PSilo on Stack Overflow See other posts from Stack Overflow or by PSilo
Published on 2010-12-23T12:28:09Z Indexed on 2010/12/23 12:54 UTC
Read the original article Hit count: 325

Filed under:
|

Hi I got 4 viewports and one large that I can switch between now I got an object namely the camera and the cameras target position that I show with rendering a sphere at those locations. I want to show the cameras position in 3 of my viewports but not in the last which is the camera display but at the moment I got an all or nothing scenario.

void display(int what)
{
 if(what==5){
 glMatrixMode(GL_MODELVIEW);
 glLoadIdentity();
 camControll();}

 if(what==1){
 glMatrixMode(GL_MODELVIEW);
 glLoadIdentity();
 gluLookAt(75,15,-5,0,5,-5,0,1,0);}

 if(what==2){
 glMatrixMode(GL_MODELVIEW);
 glLoadIdentity();
 gluLookAt(0,110,0,0,0,0,1,0,0);}

 if(what==3){
 glMatrixMode(GL_PROJECTION);
 glLoadIdentity();
 gluPerspective(45.0f, float(320) / float(240), 0.1f, 100.0f); 
 glMatrixMode(GL_MODELVIEW);
 glLoadIdentity();
 camControll();}

 if(what==4){
 glMatrixMode(GL_MODELVIEW);
 glLoadIdentity();
 gluLookAt(185,75,25,0,28,0,0,1,0);}


 //glMatrixMode(GL_MODELVIEW);
 //glLoadIdentity();
 ////gluLookAt(cos(shared.time) * shared.distance, 10, sin(shared.time) * shared.distance, 0, 0, 0, 0, 1, 0);  
 ////ca.orbitYaw(0.05);
 //ca.lookAt();

 glClearColor(0, 0, 0, 1);
 glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
 drawScene(); // scene that all views should render
 drawCamera(); / camera position that only certain views should render
 glutSwapBuffers();
}

I'm thinking that perhaps I could do one sweep for first the 3 viewports and then call glutSwapBuffers() and then do the other viewport without the camera position but some stuttering I previously had was traced to glutSwapBuffers() being called for each viewport so I guess there has to be another way only that I cant figure it out.

© Stack Overflow or respective owner

Related posts about c++

Related posts about opengl