2012-04-22 13 views
0

球を描画する次のdrawScene関数があります。 X、Yの座標は常に更新されています。私がprintfから見る限り、値は確実に変わった。OpenGLは描画ビューを更新しません

問題は球が...

void drawScene(void){ 



     //Clear information from last draw 
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 

glMatrixMode(GL_MODELVIEW); //Switch to the drawing perspective 
glLoadIdentity(); //Reset the drawing perspective 

glColor3d(1,0,0); 

//glPushMatrix();/// 

glTranslated(X,Y,-7);//xyz//(X%5)-2.5,Y%5//(((X%6)-3),0,-7) 
printf("\n\n\nCOORDS(X)%d (Y):%d\n\n\n\n",X,Y); 
glutSolidSphere(0.3, 25, 20);//3,20,20 

//glPopMatrix();/// 

glutSwapBuffers(); //Send the 3D scene to the screen 
     } 

PSをCOORDSに応じて位置を変更しませんが、常に同じ場所に描かれていることです。私はこれが正しいかどうかはわかりませんが、私がopenGLウィンドウを更新したい場合はdrawScene()を呼び出すか、それ以外の場合は一度だけ描画されます。

+1

あなたはお電話サイトを表示することができますこの関数の? –

答えて

0

どちらかあなたはXとYを更新したり、このようidleFuncを有効にした場合)(glutPostRedisplayを呼び出す:

void idle() 
{ 
    glutPostRedisplay(); 
} 

とメインでこれを追加します。

glutIdleFunc(idle); 
関連する問題