我使用一些與我的OpenGL ES仿真器一起提供的演示作爲起點。我目前使用的演示是960x540像素,在屏幕中間繪製了一個簡單的2D三角形。什麼決定了OpenGL ES 2.0中的屏幕網格的尺寸? (使用C++)
我看到三角形已經用浮動畫出,屏幕的左下角是(-1,-1),而屏幕的右上角是(1,1)。
可以改變這個嗎?我想用整數而不是浮點數,並且屏幕的左下角爲(1,1),而右上角爲(960,540)。
因爲我打算製作2D平臺遊戲,所以這會容易得多。我不想在這個遊戲中分割任何像素;一切(紋理,玩家移動,相機移動)都將符合全像素座標。
我試着嘎吱嘎吱的數字(使用常規網格和浮點數)繪製一個24x24像素的直角三角形。但是,它最終在屏幕上是24x23像素。所以我不想繼續前進,如果有更準確,更快的方法可以使用像素座標。
演示確實有4x4矩陣,註釋:「用於投影模型視圖的矩陣」。它的對角線上有1,下降到其他地方的零。你會推薦我在那裏放什麼號碼? – Jourgen 2012-03-09 23:20:15
按照我輸入的方式思考,我想你想用2/960來縮放x,所以把它放在左上方,y放2/540,然後沿着主對角線放置下一個,然後你想把中心移到底部左邊,所以在x上是負數,在y上是負數,在每種情況下都是-1,所以這些會在最後一列的前兩位中出現。在標準GL術語中,作爲將是{2.0f/960.0f,0.0f,0.0f,0.0f,0.0f,2.0f/540.0f,0.0f,0.0f,0.0f,0.0f,1.0 f,0.0f,-1.0f,-1.0f,0.0f,1.0f} – Tommy 2012-03-09 23:31:44
剛試過你的矩陣,它的工作完美。現在,我繪製的所有形狀都完全取決於我所期望的形狀。謝謝! – Jourgen 2012-03-09 23:59:54