OpenGL散射照明
生活随笔
收集整理的這篇文章主要介紹了
OpenGL散射照明
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
OpenGL散射照明
- OpenGL散射照明簡介
- 源代碼剖析
- 主要源代碼
OpenGL散射照明簡介
背景光和散射光的主要區別在于漫反射光依賴于光線的方向,而背景光則完全忽略它。如果僅表示背景光,則所有對象都同樣亮起。漫反射使光線落在的對象的一部分比其他對象更亮。
散射光還增加了光線落在表面上的角度決定該表面亮度的條件。此事實顯示了以下圖像:
讓我們假設兩個光束的強度是相同的,其方向的差異。散射光模型表示,左側表面將比右側曲面更亮,因為它上的光線以比右側更大的角度落下。事實上,左邊的表面是最亮的,因為光線以90度角落在它上。
散射光模型基于蘭伯特斜體定律,該定律指出,從表面反射的光強度與觀察者視線與曲面法線之間的角度余弦成正比。請注意,我們使用光的方向而不是視線(將在反射光中使用)稍微改變了它。
要計算散射模型中的光強度,我們只需使用光方向和法線到表面之間的角度余弦(而蘭伯特定律是指更籠統的"直接相稱性"概念)。請考慮以下圖像:
總結
以上是生活随笔為你收集整理的OpenGL散射照明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenGL背景照明
- 下一篇: 安装win10密码提示错误怎么办 win