2011-08-14 55 views
1

我想在OpenGL中旋轉一個對象,而不用重複旋轉它的軸。無論如何要解決這個問題,還是必須得到其他圖書館或其他東西?沒有「動畫」的對象旋轉

我只是想畫一些平坦的廣場和旋轉它們做一個簡單的3圍牆1樓的房間來測試光照和陰影英寸

+1

你能成爲一個更具體一點,你是什麼意思「旋轉而不旋轉它的軸「?你能粘貼一些代碼嗎? –

+0

因爲你是新來的人,一定要告訴你自己有關接受和投票功能。 –

+1

這個問題幾乎是倒退。首先,你學習如何旋轉某些東西,然後你學習如何不斷重複這個過程來增加「旋轉」效應。 –

回答

1

雖然你的問題是有點不清楚,這聽起來像你不知道glPushMatrixglPopMatrix。使用glPushMatrix您可以保存當前選定的矩陣,然後使用glPopMatrix再次恢復。但請務必在每個glPushMatrix後面跟上相應的glPopMatrix。但是你絕對不需要使用另一個庫。

所以我覺得你想要做

for(i=0; i<3; ++i) 
{ 
    glPushMatrix(); 
    glRotatef(...); 
    wall(i); 
    glPopMatrix(); 
} 
1

你只需要設置對象上的轉變。

例如 - 部分的the OpenGL resources pages 9.020有這個例子:

glPushMatrix(); 
glRotatef(90., 1., 0., 0.); 
gluCylinder(quad,1,1,2,36,12); 
glPopMatrix(); 

這將旋轉圓柱體繞X軸旋轉90度