2010-05-17 85 views
5

在我的iPhone應用程序中,我需要將3D場景投影到屏幕的二維座標中進行一些計算。我的對象經歷了各種旋轉,翻譯和縮放。所以我想我需要先用ModelView矩陣乘頂點,然後我需要將它乘以正交投影矩陣。相當於glOrtho()的OpenGL ES 2.0?

首先我在正確的軌道上?

我有模型視圖矩陣,但需要投影矩陣。 ES 2.0中是否有glOrtho()等效項?

回答

13
mat4 projectionMatrix = mat4(2.0/768.0, 0.0, 0.0, -1.0, 
           0.0, 2.0/1024.0, 0.0, -1.0, 
           0.0, 0.0, -1.0, 0.0, 
           0.0, 0.0, 0.0, 1.0);       

gl_Position = position; 
gl_Position *= rotationMatrix; 
gl_Position.x -= translateX; 
gl_Position.y -= translateY; 
gl_Position *= projectionMatrix; 

對於(在我的案件爲iPad 1024×768)的固定分辨率我用這個矩陣,一切工作般的魅力:) 以下是完整說明什麼價值,你需要把你的矩陣:glOrtho.html

+0

謝謝兄弟這是非常有用的示例 – sage444 2015-04-04 09:54:09

3

manual page對於glOrtho()描述了等效的操作,所以只要你有矩陣的方便應該可以重新實現它。

+1

404找不到頁面 – Nande 2014-07-15 21:35:23

+1

@Nande謝謝,修復! – unwind 2014-07-30 16:38:56