所以我要在3D空間中一組的四點意見。矩陣來表示一個三角形在屏幕空間中
P1 [0,0,0]
P2 [128,0,0]
P3 [0,128,0]
P4 [128,128,0]
哪我然後正投影屏幕有效地給我在屏幕空間兩個線框三角形。
我現在想要一個紋理映射到這個「面」由兩個三角形。所以,我把我的方形紋理,並且使用U,V座標我可以紋理映射到這兩個三角形。
問題是當我嘗試Z分量添加到verticies。屏幕空間中產生的三角形現在有些失真,但紋理映射完全關閉。
在我看來,雖然,由於它只是3分,他們仍然形成某種形式的仿射矩形,我們可以代表矩形作爲形式的矩陣:
[AB 0] [CD 0 ] [TX TY 1]
誰能給我一些建議,關於如何在屏幕空間轉換三個二維點到矩陣在上面的表格想法?
所有的教程等,我已經擡起頭來解釋紋理映射的鬆散理論,然後讓OpenGL的/ DirectX的本地函數執行實際的映射。
我正在尋找更多的地方給出三點直接的辦法,我可以使用的仿射矩陣映射texure到三角形。 (不做掃描線渲染方法)
謝謝!
酷,謝謝。 所以看起來我必須再做兩件事才能使它工作。 第一個是翻轉你給我的矩陣(這是微不足道的)。 [b e 0] [c f 1] 第二種是將未改變空間中多邊形的原始增量X歸一化爲a和c,並將原始增量Y的b和d歸一化。 – Jon 2009-11-19 21:14:22