大多數OpenGL ES教程爲Android,我跟着有onSurfaceChanged()這樣的功能:當調用glMatrixMode()
public void onSurfaceChanged(GL10 gl, int width, int height) {
gl.glViewport(0, 0, width, height);
gl.glMatrixMode(GL10.GL_PROJECTION);
gl.glLoadIdentity();
GLU.gluPerspective(gl, 45.0f, ((float)width/(float)height), 0.1f, 100.0f);
gl.glMatrixMode(GL10.GL_MODELVIEW);
gl.glLoadIdentity();
}
然而,什麼是這裏的分組?必須在glViewport之後調用glMatrixMode()嗎?並且必須在glMatrixMode()之後調用glLoadIdentity()?
我一直在編寫「完整的」OpengGL之前,在我的舊代碼中我首先調用glMatrixMode(),然後gluPerspective和最後glLoadIdentity()。彷彿一個第一()設置應該使用什麼矩陣gluPerspective和最後一組glIdentity()來完成它。
什麼是調用glMatrixMode(),glIdentity()和gluPerspective()正確的順序 - 爲什麼? OpenGL和OpenGL ES之間在設置glMatrixMode()方面有區別嗎?
這是一個很好的解釋,什麼是不同的功能。感謝名單! – Espen 2010-11-17 07:13:20