2010-05-07 162 views
1

我不知道如何去搞清楚如何映射紋理cooridnates爲2D NGon(N邊多邊形)如何做到這一點?紋理映射的NGON?

我試圖實現的效果是紋理適合多邊形,並相應地伸展,使整個紋理適合它。

感謝

回答

3

請記住,在OpenGL渲染一個口岸時,它只是一大堆三角形。此外,你正在採取一些形狀,並試圖將其映射到一個矩形,所以你必須非常批評你如何做到這一點,因爲有許多不同的映射從任何形狀到矩形紋理。

例如,如果我有一個五角形,形狀像一個點在兩個角之間的正方形,很容易映射到紋理。當我提出這一點時會發生什麼?當我移動頂點時,紋理座標是否會發生變化?

這樣做的一種方法是將ngon的周長映射到矩形的周長,其中從ngon的頂點到頂點行進的距離映射到紋理周圍的UV座標。例如,在四分之一週圍,給它一個(1,0)的UV座標,在ngon的一半處,爲頂點提供一個(1,1)和3/4的UV座標在它周圍,給它一個(0,1)的UV - 當然,因爲ngon不會在每個頂點完美排列,所以您需要在點之間進行插值。