Window系統中,屏幕座標原點在屏幕的左上角,X軸向右爲正,Y軸向下爲正.度量單位是象素
OpenGL的定義中,紋理座標原點在畫布的左下角,X軸向右爲正,Y軸向上爲正
左下角座標爲(0.0f, 0,0f), 右上角座標爲(1.0f, 1.0f)和形狀(矩形是否爲正方形)無關,
其他位置取0到1之間的一個浮點數插值得到
這也是爲什麼在Windows平臺進行OpenGL編程的時候需要將讀入的圖片首先進行垂直翻轉的原因。
舉例:
假設一個簡單的矩形,在OpenGL中,我們給其Vertex Buffer內頂點座標賦值爲:
那麼對應的Windows系統中屏幕上顯示的位置爲:
這個矩形可以以兩個三角形來繪製,現在我們要給矩形ABCD貼上紋理,首先載入紋理圖片
然後vertical flip,然後按照OpenGL中的座標規則給每個頂點分配合適的紋理座標:
這樣分析之後就可以得到B(1,0),D(0,1),所以最後的Vertex Buffer內容爲: