我認爲這已經在之前討論過了,但我無法找到適合我的答案。OpenGL ES 2.0 for 2D,如何將原點設置爲左上方
我正在用OpenGL ES 2.0爲iPad開發2D「繪圖」應用程序。
我正在用「iPhone 3D Programming」一書中描述的函數創建一個Ortho投影矩陣,並且據我所知矩陣是正確的。函數調用是這樣的:
proj = identity.Ortho(-width/2, width/2, -height/2, height/2, -1.0f, 1.0f);
它工作正常,但它將原點放在視口的中心。我需要從用戶那裏獲取觸摸信息進行繪製,所以我希望原點位於左上角。
我知道我並不真的需要這個,因爲我只能減去(width/2,height/2),但是如果原點在TL,所有東西都會更容易。
所以,我想這一點:
proj = identity.Ortho(0, width, 0, height, -1.0f, 1.0f);
不過,這並不在所有的工作,如果我畫一個矩形,我只是看到一些線或三角形,當我旋轉視圖模型矩陣,它就像它越來越扭曲。
謝謝。
在OpenGL中,垂直座標是從底部開始的距離,在可可視圖中,它是距頂部的距離。 – jbat100
我知道你的意思,但我不認爲這解決了我與投影矩陣的問題。或者我錯過了什麼? – Odrakir
不知道這就是爲什麼它是一個評論:) – jbat100