2017-01-02 5 views

答えて

0

まあ実際に違いはありません。四角形は2つの三角形で構成されていますので、あなたが求めているのは、すでに全体を描く方法を知っている四角形の半分を描くことと同じことです。

OpenGLのオブジェクトのほとんどは三角形で描かれています。それらのテクスチャはテクスチャ座標によって定義され、テクスチャがロードされるイメージは非常に奇妙なものになります。私が何を意味するかを見るために、 "モデルテクスチャ"のウェブイメージを検索してみてください。

私がこれを説明している理由は、あなたが今やっているように、テクスチャと座標を逆に考える必要があると思うからです。テクスチャ座標は、実際には、テクスチャ上の相対位置であり、シェイプがバインドされているポイント間でテクスチャのどの部分を描画するかを表します。したがって、矩形のテクスチャは、普通のイメージがすでに矩形であるため、普通のイメージのように見えるでしょう。例えば球の場合、2次元サーフェス上の球上のすべての点を何らかの形で表す必要があるので、テクスチャはすでにかなり奇妙に見えます。通常は長方形です。

テクスチャ付き三角形を描画するには、位置座標とテクスチャ座標が必要です。最も簡単な例では使用できます

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 

それでもこれらのテクスチャ座標は、あなたのテクスチャのためにあなたが望む何もすることができます。相対テクスチャの座標位置を計算するだけで済みます。

関連する問題