OpenGL 点光源的多遍阴影贴图
生活随笔
收集整理的這篇文章主要介紹了
OpenGL 点光源的多遍阴影贴图
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
OpenGL點光源的多遍陰影貼圖
- OpenGL點光源的多遍陰影貼圖簡介
- 源代碼剖析
- 主要源代碼
OpenGL點光源的多遍陰影貼圖簡介
我們學習了陰影貼圖的基礎知識-第一次從光源位置通過使用光方向作為視圖矢量,第二次從相機使用第二次通過的數據來計算陰影。那時,大多數程序員問自己-這種方法適用于定向光,但是如果我想為點光生成陰影該怎么辦?在這種情況下,將沒有特定的光方向。今天我們對話的主題是解決這個問題的方法。
解決方案是認識到一個點光源在所有方向上都發出光的事實,因此陰影貼圖的紋理將僅在我們放置的任何地方接收一小部分光線。取而代之的是,我們可以將光放置在立方體紋理的中心。然后,我們將有6個矩形陰影貼圖,并且光線將不會在任何地方逸出。每個“光線”將落在這些陰影貼圖之一上,然后再進行通常的陰影計算。我們已經在skybox教程中看到了立方體紋理的實際效果,因此我們假設我們已經熟悉它了。
在實踐中,為了模擬所有方向的光線方向,我們將從光源的位置添加6個渲染通道,并且每個渲染通道都有一個唯一的方向。我們將使用主軸方向作為光的方向-正,負X,Y和Z軸,因此,立方體紋理的邊將包含到場景中最近像素的距離。通過將這些值與第二遍中每個像素到光線的距離進行比較,我們可以確定像素是否在陰影中。
看一下下面的圖片:
總結
以上是生活随笔為你收集整理的OpenGL 点光源的多遍阴影贴图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 女儿国歌曲叫什么名字(女儿国之前的名字叫
- 下一篇: OpenGL GLFW