2011-04-06 25 views
0

OpenGL基本上是一樣的。我想將3D模型投影到2D平面,其中3D模型具有頂點和麪,這些頂點和麪具有許多屬性以及座標或顏色。關於屬性以外的屬性的三維投影(2D),顏色

即我需要從3D模型的顏色,屬性1,attibutes2 .... attibutesN幾個2D投影。當然,並不是每個2D投影都需要渲染爲圖像。

我可以使用OpenGL解決問題嗎?我從OpenGL投影或任何模型視圖轉換中瞭解的是關於座標轉換。我怎麼能讓其他屬性也「投射」到2D平面上的適當位置?

一個快速的想法是在顏色或紋理中編碼頂點/面部屬性,讓OpenGL將3D模型投影到2D平面上,然後解碼2D平面上每個像素的顏色或紋理值。

還有沒有更好的解決方案可以實現沒有OpenGL技巧?

感謝

+0

你在說什麼類型的屬性?他們漂浮嗎?這些屬性應該如何在頂點之間進行處理?插值與顏色相同嗎? – JCooper 2011-04-06 15:15:36

+0

@JCopper:一些屬性,如材質反射屬性或其他物理屬性。他們的確是浮動式的。我想讓這些屬性插值爲顏色,但如果我可以設置一些權重函數,那將是非常好的。我並不需要將這些屬性渲染爲可繪製的圖像,我寧願直接獲取投影/插值屬性值的二維數組(如圖像)。 – OvFw 2011-04-06 20:58:05

回答

2

設V是n的n矢量屬性要項目,和M的(N + 1)×M投影矩陣,則M V是你的投影。這真的很簡單。真正重要的是找到一個從n空間到2空間的投影,這是有道理的。

+0

不是真的。我想將3D場景投影到2D平面上,就像OpenGL一樣。但我還需要投射/渲染一些屬性,而不僅僅是顏色或紋理。 – OvFw 2011-04-06 20:40:26

+1

我完全理解這一點,你也可以通過這個矩陣來轉換這些附加屬性。您必須明白,這些附加屬性只是頂點向量的附加元素,因此也會進行轉換。如果您指定了如何以及如何轉換這些附加屬性,這將有所幫助。 – datenwolf 2011-04-07 07:28:28