2010-03-11 74 views
5

我參加了一個計算機圖形學的考試一個幾天前其中有類似如下的額外信貸問題:定義輕座標

光可以通過以下兩種方式之一進行定義。它可以用世界座標來定義,例如路燈或觀察者(眼睛座標),例如礦工佩戴的頭燈。無論哪種情況,觀點都可以自由改變。描述在這兩種情況下光應該如何變化。

因爲春休之後我不會看到這個結果,所以我想我會在這裏問。

似乎正在使用的類比是誤導性的 - 你能不能定義一個光源在世界座標中的位置與在眼睛座標中一樣好?我一直在研究OpenGL如何處理光線,並且好像它總是使用眼睛座標 - ModelView矩陣將應用於世界座標中的任何光線。

在這種情況下,答案可能就是您必須使用類似於ModelView矩陣的東西將世界座標中定義的光轉換爲眼座標,而在眼座標中定義的光只需要通過投影矩陣進行轉換。

然後,我可以完全在思考(或過度思考)。

我的另一個想法是,它決定了渲染陰影的方式,但它與光線的位置及其類型(點,方向,發射等)有關,而不是它所代表的座標。

任何想法?

回答

3

在路燈的情況下,當視點移動時,世界座標將保持不變。

在大燈的情況下,當視點移動時,眼睛座標將保持不變。

5

燈的位置由模型視圖矩陣轉換,模型視圖矩陣在定義光時處於活動狀態

如果模型視圖矩陣在那一點是同一性的,那麼您將在眼睛座標中獲得光線。

如果模型視圖矩陣是相機矩陣的逆矩陣,那麼您將獲得世界空間中的光線。

+0

這太糟糕了,你不能接受兩個答案,因爲它確實是兩者的結合。 – 2010-03-11 19:25:50

+0

別擔心。別客氣。 – Thomas 2010-03-11 20:17:40