2017-01-02 35 views

回答

0

那麼實際上沒有任何區別。矩形由2個三角形組成,所以你所要求的與繪製矩形的一半,你已經知道如何繪製整個矩形是一樣的。

openGL中的大多數對象只能用三角形繪製。它們上的紋理是通過紋理座標定義的,紋理加載的圖像可能很奇怪。嘗試搜索「模型紋理」的網頁圖片,看看我的意思。

我之所以解釋這個,是因爲我相信你需要開始思考紋理和座標,就像現在一樣。紋理座標實際上只是紋理上的相對位置,表示紋理的哪一部分應該在形狀所綁定的點之間繪製。所以矩形的紋理很可能看起來像一個普通的圖像,因爲這個普通圖像已經是一個矩形。對於一個球體來說,紋理已經看起來很奇怪了,因爲你需要以某種方式表示2D球體上的球體上的所有點,通常是一個矩形。

因此,繪製紋理三角形需要位置座標和紋理座標。一個最簡單的例子可以是:

float vertexData[] = { 
0.0, 0.0, 0.0, 
0.0, 0.0, 
100.0, 0.0, 0.0, 
1.0, 0.0, 
0.0, 100.0, 0.0, 
0.0, 1.0 
}; 

這是一樣的矩形,但錯過了最後一個座標:

100.0, 100.0, 0.0, 
1.0, 1.0 

不過這些紋理座標可以是任何你想要爲你的質感。您只需計算相對紋理座標位置。