2016-06-29 56 views
0

我在我的Opengl環境中有立方體和球體。這是由如何獨立操作/轉換Opengl中的對象?

//Create Cube 
glPushMatrix(); 
glTranslated(-5.0,0.0,0.0); 
glDrawCube(7.5f); 
glPopMatrix(); 

//Create Sphere 
glPushMatrix(); 
glTranslated(10.0,0.0,0.0); 
glDrawSphereIcosahedron(4.5f,6);  
glPopMatrix(); 

帶來多少獲得: 立方和創建球體。轉換/操作是依賴的。如果我嘗試旋轉立方體,球體也隨之旋轉。

我想要什麼 我希望立方體和球體彼此獨立地進行轉換/操縱。如果我旋轉立方體,球體應保持不動/旋轉

我試過 我試着用glPushMatrix(),glloadMatrix()與上面的代碼,但它仍然有同樣的問題。

提前感謝您的時間。

回答

2

如果將glRotate放在glPushMatrix()/ glPopMatrix()對中,則旋轉將僅應用於塊內繪製的對象。如果你把glRotate放在這一對之外,這個旋轉將應用於所有在它們後面繪製的對象

+0

謝謝,對,你的答案是正確的。但它只在最初渲染時才起作用。我希望立方體在選擇立方體而不是球體時獨立旋轉。我希望我很清楚。 – khadkaboy

+2

@khadkaboy這個答案不適用於你? '只有當它最初呈現的時候'是什麼意思?如果您希望將它們連續渲染和旋轉,則此代碼需要位於主更新循環中。 – Dan

+0

@丹我不希望立方體連續旋轉,而是我想選擇一個對象(現在讓我們說立方體),然後只操作立方體而不對所創建的球體做任何更改或效果。但我無法這樣做。 – khadkaboy