2010-09-28 234 views
0

嘿,這聽起來很簡單,但我想不起來映射點到2D紋理

我有3D點(包括負位置),我想映射到一個2D紋理的列表。

我想弄清楚如何恰當地將點映射到紋理,以及它如何具有特定的寬度/高度。

感謝

+0

我記得需要執行的投影給出的平面的寬度/高度(類似於屏幕上的操作),但我不記得如何操作或者它是否正確。 – Setheron 2010-09-28 22:49:50

回答

1

簡單的方法:使用直方圖投影。

x_2d = x_3d + z_3d * SCALE_X

y_2d = y_3d + z_3d * scale_y

凡(SCALE_X,scale_y)是說明突起的 「方向」 的載體。

如果有很高的地位(「遠」)的對象應該是更小的,你應該尋找透視投影(例如,在Wikipedia: 3D Projection

0

以我的經驗,通常你指定使用glTexCoord2f(每個3D點)模型中的2D紋理座標,並讓OpenGL的拿剩下的事情。

也許我誤解了你在這裏要做的事情。

+0

我想在沒有openGL的情況下繪製位圖,因此我想知道如何將3D點投影到紋理上。 – Setheron 2010-09-28 23:25:32