2011-12-15 81 views
0

我對創建不同類型的燈光有疑問。全向光和截止角小的光之間有什麼區別,我應該在OpenGL中使用什麼來實現這些。opengl中燈光之間的區別

+0

欲瞭解更多信息:http://stackoverflow.com/search?q=%5Bopengl%5D+light&submit=search – Luca 2011-12-15 18:14:46

回答

2

全方位和定向光模型之間的差異是用於選擇哪些碎片受光線影響的算法。

全指向燈影響所有的碎片是所有方向,而定向光有一個方向和一個截止角(光錐)。光線通常具有衰減因子,用於限制應用範圍。

通常燈會通過添加顏色成分來增加碎片顏色。顏色分量是環境顏色,漫反射顏色,鏡面顏色......每個分量都用一些參數進行縮放,例如添加與視點的距離或反射光線相對於視點的角度(使用眼睛表面矢量和法線)。

使用固定管道(或兼容性配置文件),定義了一個state集以啓用照明。您可以啓用或禁用有限數量的燈光,設置燈光模型和模型參數。光影響頂點顏色,而不是頂點柵格化所得到的片段。

使用可編程管道,燈光由着色器制服定義。由於着色器是可編程的,所以您必須使用着色器源定義您自己的照明模型。

這個問題很廣泛。