2014-02-25 62 views
0

有人可以向我解釋Gouraud陰影嗎?我可以繼續前進,谷歌「gouraud陰影」,但它對我沒有多大意義。我有3個具有(x,y)位置和int [r,g,b]顏色的頂點。我想線性內插(不知道這意味着什麼)在三角形陰影的頂點的顏色。這樣做的邏輯是什麼?如何做gouraud陰影?

+0

如果您想要了解有關Gouraud着色的真實體驗,可以閱讀[PC-GPE](http://bespin.org/~qz/pc-gpe/)的「3D着色」部分! – Blorgbeard

+1

這是一個廣泛的問題。 Stack Overflow的格式不適用於詳細解釋大型概念。你應該查看[線性插值](http://en.wikipedia.org/wiki/Linear_interpolation)並嘗試在2種顏色之間實現它。如果您在這樣做時遇到困難,請提出具體問題(在新問題中),說明您遇到的問題,併發布一些您認爲應該可以使用但不是的代碼。 – user1118321

回答

0

您將執行一個bi-線性插值。

按照像素行從上到下掃描三角形。每行將沿着兩個不同的邊緣兩次相交三角形。

您將首先執行兩個線性內插沿着這些邊緣,計算RGB分量的在頂點的混合物,與所述距離加權,以這些(重量Db/(Da+Db)用於彩色aDa/(Da+Db)彩色b)。

然後,您將掃描交點之間的像素,在剛剛計算的兩種顏色之間執行另一個線性插值。

這樣你就可以用平滑的漸變填充三角形,這樣可以使三角形與相鄰三角形相連,如果有的話。