OpenGL延迟着色之二
生活随笔
收集整理的這篇文章主要介紹了
OpenGL延迟着色之二
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
OpenGL延遲著色
- OpenGL延遲著色簡介
- 源代碼剖析
- 主要源代碼
OpenGL延遲著色簡介
在上一教程中,我們介紹了延遲著色的基礎知識,并用幾何傳遞結果的組合填充了G緩沖區。如果運行演示,您將看到G緩沖區的內容。今天,我們將完成延遲著色的主要實現,并且場景將與正向渲染看起來相同(很好,幾乎相同)。在本教程結束時,一個問題將很明顯,但是我們將在下一部分中對其進行修復。
現在已經正確填充了G緩沖區,我們想用它來計算光。光效應器的表達沒有根本改變。背景,環境和環境光的概念沒有改變,只有它們的數據現在存儲在G緩沖區中。對于屏幕上的每個像素,我們從不同的紋理中取樣,然后進行常規計算。只有一個問題:我們如何知道我們正在處理哪個像素?在正向渲染中,這很簡單-VS在剪輯空間中提供了一個位置,為此,有一個自動步驟將頂點轉換為屏幕空間,然后光柵化器對三角形內的每個像素調用FS。結果,計算出了這些像素的光。但是現在,幾何階段結束后,我們不想再使用原始對象。
相反,我們從光源的角度看待對象。如果我們有一個定向光,那么屏幕上的所有像素都將被曝光。在這種情況下,我們可以簡單地繪制一個矩形來填充整個屏幕。將為每個像素調用FS,并將添加熟悉的效果。對于點光源,我們可以渲染以光源為中心的球體的粗糙模型。球體的大小將直接取決于光的強度。再次,將為球體內的所有像素調用FS,我們將
總結
以上是生活随笔為你收集整理的OpenGL延迟着色之二的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: u盘做了启动不显示怎么办啊 如何解决U盘
- 下一篇: w7怎么关闭管理员身份运行程序 关闭w7