opengl - Is it possible to draw multiple 3D objects having its independent planes or axis respectively? -


i beginner doing car parking game..its top view of parking lot.. need ve constant parking surroundings thing tht when turn car using glrotatef functions in special key function whole surrounding turns along car :(

i use transformations in following functions

void keyspecial( glint key, glint x, glint y ) { if( key == glut_key_up) // {  for(int i=0;i<29;i++) vertices[i][1]+=.50; } if( key == glut_key_down) {     for(int i=0;i<29;i++) vertices[i][1]-=.5; } if(key ==glut_key_left) {      translator() ;  rotaterl(); tran();   } if(key ==glut_key_right) {     translator() ;  rotaterr(); tran();  }  if(key == glut_key_f2 ) {     translatorb() ;  rotaterl();  tranb();    }  if(key == glut_key_f1 ) {     translatorb() ;  rotaterr();  tranb();   }  glutpostredisplay();} 

the translator n tranb nothing contains gltranslatef(..)

what need utilise matrix stack in drawing code. code like:

//transform parking lot if want //draw parking lot  glpushmatrix(); //do transforms glrotate, gltranslate, etc. //draw car glpopmatrix(); 

when use glpushmatrix/glpopmatrix, transforms within these statements affect inside them. also, if transformed parking lot, cars move too, transform parking lot, push/pop afterwards. each car need pushed/popped separately don't transform each other.

if wanted parking lot transformations independent of cars, you'd do:

glpushmatrix(); //transform , draw parking lot glpopmatrix();  glpushmatrix(); //transform , draw car glpopmatrix(); 

now parking lot , cars have no effect on each other's transformations.

hope helps!


Comments