右圖想象你的0,1,0甚至是立方體。然後旋轉45%(glRotatef),然後向前移動該對象(glTranslate 0,0,10),以便向前移動該對象10。OpenGl:找出你的當前位置
那你如何得到那個物體的位置?
右圖想象你的0,1,0甚至是立方體。然後旋轉45%(glRotatef),然後向前移動該對象(glTranslate 0,0,10),以便向前移動該對象10。OpenGl:找出你的當前位置
那你如何得到那個物體的位置?
您可以將轉換組合到一個矩陣中,然後將其應用於任何點以爲您提供其世界位置。您可以通過查詢當前矩陣(應用所有旋轉,平移和縮放後)並使用它將變換應用於任意點來完成此操作。
請注意,通過使用glRotatef
和glTranslatef`,您正在使用即時模式和舊式API。使用現代OpenGL的用法可以創建矩陣並將它們發送給着色器,以便將從對象到世界座標的變換應用。通過這種方式,您將擁有用於對象到世界轉換的矩陣。
不要假設你知道命令,我使用的是openGL ES 1.1 – Burf2000 2010-12-12 00:04:29
你可以使用:'float modelViewMatrix [16]; glGetFloatv(GL_MODELVIEW_MATRIX,modelViewMatrix);'查詢當前的變換。然後,您可以將此矩陣應用於模型空間中的任意點以獲取世界座標。 – gavinb 2010-12-12 04:16:56
如果你可以幫我完成下一步。我該如何應用它? – Burf2000 2010-12-13 14:57:36