2015-04-25 137 views
0

我試圖在平面上映射紋理,我知道紋理的頂點座標以及4頂點。那我該如何計算4個頂點的UV紋理座標?如果我知道飛機上紋理的頂點座標,我該如何計算頂點的uv座標

這裏有一個圖片告訴你什麼是我想要做的,

enter image description here

的黃色網格區域是我的質地,它是一個方形紋理扭曲成形狀。綠色區域是我想要將我的紋理映射到的平面。我知道點a,b,c, d和點1,2,3,4的頂點座標。

例如,如果我的紋理放在這樣

enter image description here

這些都是對所有點的頂點座標。然後紫外線的點abc座標,d(-0.5f, -0.5f), (1.5f, -0.5f), (1.5f, 1.5f), (-0.5f, 1.5f)

但是如果紋理歪斜狀的第一張照片,我怎麼能計算點abcd UV座標?

回答

0

你在哪裏試圖做這個CPU或GPU?假設CPU可以做的是將你偏斜平面的頂點投影到綠色平面上。如果您將綠色平面視爲具有相機並因此具有相關視圖和投影矩陣的屏幕,則可以將每個點投影到其表面上,然後在綠色平面的中間找到距離原點的距離。

從你的標籤看起來你使用的是OpenGL ES,你使用的是固定函數還是着色器?你使用什麼數學庫? GLM有glm :: project和glm :: unproject,它們基本上就是你想要的here's鏈接。

Here's有關您想要做什麼的一些常規信息,您基本上希望從3D投影到2D,然後在您的飛機上找到相對距離。

希望有所幫助。