OpenGL HDR渲染
OpenGL HDR渲染
- HDR渲染簡(jiǎn)介
- 浮點(diǎn)幀緩沖
- 色調(diào)映射
HDR渲染簡(jiǎn)介
一般來(lái)說(shuō),當(dāng)存儲(chǔ)在幀緩沖(Framebuffer)中時(shí),亮度和顏色的值是默認(rèn)被限制在0.0到1.0之間的。這個(gè)看起來(lái)無(wú)辜的語(yǔ)句使我們一直將亮度與顏色的值設(shè)置在這個(gè)范圍內(nèi),嘗試著與場(chǎng)景契合。這樣是能夠運(yùn)行的,也能給出還不錯(cuò)的效果。但是如果我們遇上了一個(gè)特定的區(qū)域,其中有多個(gè)亮光源使這些數(shù)值總和超過(guò)了1.0,又會(huì)發(fā)生什么呢?答案是這些片段中超過(guò)1.0的亮度或者顏色值會(huì)被約束在1.0,從而導(dǎo)致場(chǎng)景混成一片,難以分辨:
這是由于大量片段的顏色值都非常接近1.0,在很大一個(gè)區(qū)域內(nèi)每一個(gè)亮的片段都有相同的白色。這損失了很多的細(xì)節(jié),使場(chǎng)景看起來(lái)非常假。
解決這個(gè)問(wèn)題的一個(gè)方案是減小光源的強(qiáng)度從而保證場(chǎng)景內(nèi)沒(méi)有一個(gè)片段亮于1.0。然而這并不是一個(gè)好的方案,因?yàn)槟阈枰褂貌磺袑?shí)際的光照參數(shù)。一個(gè)更好的方案是讓顏色暫時(shí)超過(guò)1.0,然后將其轉(zhuǎn)換至0.0到1.0的區(qū)間內(nèi),從而防止損失細(xì)節(jié)。
顯示器被限制為只能顯示值為0.0到
總結(jié)
以上是生活随笔為你收集整理的OpenGL HDR渲染的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 代办汽车销户会不会给销户本人出个证明吗?
- 下一篇: OpenGL 泛光Bloom