我直接使用微软提供的方法,每次downScale图片到1/4,最后变为1,其实我一直都在想能不能直接提取像素进行计算,这要使用到CPU,可能会降低性能,至于降低多少,我还没有进行尝试。
ToneMapping的公式
然后
BrightPass:这个过称主要是为了提取场景中极亮的部分,并且将较暗的部分置为0,至于这个极亮,我们使用keyValue来表示
较小的keyValue值。仅仅是大于1的部分被提取。
较大的keyValue值,将部分<1也提取了。
然后就是卷积:
模糊了一下,大小为原场景的1/8
好了,和进行了ToneMap的场景混合一下就好了,挺简单吧。
初入场景的不适应
逐渐适应
注意窗户上的细节
直接被夹到1的图,丢失了细节
这里的场景是直接一张HDR图片做成的,你可以理解成非3D场景,不过我们只需在3D渲染的最后添加同样的过程便行了,这本来就是一个屏幕效果。
/Files/ttthink/HDR_Effect.rar