OpenGL延迟着色之三
OpenGL延遲著色
- OpenGL延遲著色簡(jiǎn)介
- 源代碼剖析
- 主要源代碼
OpenGL延遲著色簡(jiǎn)介
看來我們對(duì)延遲著色技術(shù)的實(shí)現(xiàn)是正確的,但是如果您仔細(xì)觀察,我們會(huì)注意到上一課最后列出的許多缺點(diǎn)。首先,由于背面的夾持,當(dāng)相機(jī)進(jìn)入光源區(qū)域時(shí),光線消失了。第二個(gè)問題與光范圍的限制有關(guān)。事實(shí)是,由于我們使用光源周圍的球體來選擇要進(jìn)行計(jì)算的像素,并且該球體在光柵化器之前投影到屏幕空間中,因此屏幕空間中被球體覆蓋的每個(gè)像素都將用于計(jì)算中,即使它很遠(yuǎn)(并且很可能是光源不可用的)。
稱為模板緩沖區(qū)(模板緩沖區(qū)或模板緩沖區(qū))的OpenGL功能將在這種情況下為我們提供幫助。模板緩沖區(qū)與顏色和深度緩沖區(qū)并排交互并交換分辨率(對(duì)于顏色緩沖區(qū)中的每個(gè)像素,模板緩沖區(qū)中都有一個(gè)像素)。模板緩沖區(qū)中的像素類型是整數(shù),通常為1個(gè)字節(jié)。模板緩沖與現(xiàn)實(shí)世界中的紙模完成相同的工作。模版通常用于通過將字母或其他元素切成紙來打印字母或其他元素。在OpenGL中,模板緩沖區(qū)用于約束要為其調(diào)用片段著色器的像素。
模板緩沖區(qū)是使用模板測(cè)試附加的,模板測(cè)試是我們首次使用的一個(gè)像素功能。以與深度測(cè)試類似的方式,模版測(cè)試可用于在調(diào)用像素著色器之前丟棄像素。它通過將當(dāng)前像素與參考值進(jìn)行比較來工作。我們可以使用以下幾種功能:
永遠(yuǎn)過去
總是失敗
大于/小于
大于或等于/小于或等于
掠奪
不相等
根據(jù)模板測(cè)試和深度測(cè)試的結(jié)果,我們可以對(duì)模板中記
總結(jié)
以上是生活随笔為你收集整理的OpenGL延迟着色之三的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: w7怎么关闭管理员身份运行程序 关闭w7
- 下一篇: OpenG 轮廓检测