glTranslatef, problem

0

witam, mam problem z rysowaniem dwoch obiektow w GL, chodzi o to ze mam jeden obiekt, prymityw, rysuje go funkcja drawPlayer, jest on oddalony na osi X? o -0.97f, drugi obiekt to juz jest sfera, jest ona oddalona od osi x o dajmy np -0.27f, zauwazylem ze jak sfere bardziej przyblizam do prymitywa rysowanego poprzez drawPlayer, tym dalej ten prymityw sie znajduje,
czesc kodu

void drawBall()
{
	glTranslatef( -0.022f, playerYPos, 0.0f);

	glutSolidSphere( 0.02, 32, 32 );

	glEnd();
}

void drawPlayer()
{
	glTranslatef( -0.97f, playerYPos, 0.0f);

	glBegin( GL_QUADS );
	
		glVertex3f( -0.006f, -0.10f, 0.0f ); // The bottom left corner  
		glVertex3f( -0.006f, 0.10f, 0.0f ); // The top left corner  
		glVertex3f( 0.006f, 0.10f, 0.0f); // The top right corner  
		glVertex3f( 0.006f, -0.10f, 0.0f ); // The bottom right corner 

	glEnd();
}
0

Pewnie nie używasz przed narysowaniem jednego prymitywa glPushMatrix(), a po narysowaniu go glPopMatrix(). Bez tego przesuwając najpierw jeden metodą glTranslatef przesuwasz równocześnie drugi o tyle samo, potem go przesuwasz przed narysowaniem jeszcze dalej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1