threejs -------- Bloom泛光后期处理效果

1. Threejs 案例:webgl_postprocessing_unreal_bloom.html

在这里插入图片描述
在这里插入图片描述

2.Bloom泛光

泛光(Bloom) 是一种现实世界中的光现象,通过它能够以较为适度的渲染性能成本极大地增加渲染图像的真实感。用肉眼观察黑暗背景下非常明亮 的物体时会看到泛光效果。亮度更高的物体还会造成其他效果(条纹、镜头光斑),但这些效果不在经典的泛光 效果范畴内。我们的显示器(电视、TFT屏等)通常不支持HDR(高动态范围),因此实际上无法渲染太亮的物体。于是我们模拟了 当光线射到胶片(胶片次表面散射)或摄像机前(乳白色玻璃滤光片)时眼睛中出现的效果(视网膜的次表面散射)。这种效果不一定符合实际 情况,但它可以帮助表现对象的相对亮度,或者给屏幕上显示的LDR(低动态范围)图像添加真实感。
在这里插入图片描述
泛光可以用一个高斯模糊来实现。为了提高质量,我们将多个不同半径的高斯模糊组合起来。为了获得更好的性能,我们在大大降低的分辨率下 进行很宽范围的模糊。在UE 3中,高斯模糊的分辨率为1/4、1/8和1/16。而现在我们可以使用多种模糊,分辨率从1/2(Blur1)到1/32(Blur5)。

通过改变模糊效果的组合方式,我们可以进行更多的控制,取得更高的质量。为了获得最佳的性能,应该使用高分辨率模糊(小值)来实现较窄的模糊,而主要使用低分辨率模糊 (大值)实现较宽的模糊。

在这里插入图片描述
泛光卷积
使用泛光 卷积(Convolution) 效果可以添加自定义泛光内核形状,其纹理能够展现逼真的泛光效果。 它利用内核图像对源图像进行卷积运算,以此来模拟摄像机或人眼中光线的散射和衍射。

在这个例子中,泛光技术产生了连续反应,例如星爆效果、扩散发光区域。

内核表示光学设备对视野中间的单点源的响应。源中的每个像素按照内核图像的指示 将其部分亮度贡献给相邻像素。源像素越亮,生成的泛光越明显。究其根本而言,这种能量守恒散射可以转化为卷积运算公式, 并通过使用快速傅里叶变换(FFT)加速。
在这里插入图片描述

泛光尘土蒙版
泛光尘土蒙版(Bloom Dirt Mask) 效果使用纹理来增亮某些已定义屏幕区域的泛光。它可以用于创建战地摄像机图像、更令人印象深刻的HDR效果或摄像机 瑕疵图像。

要启用泛光尘土蒙版,请在“后期处理体积(Post Process Volume)”的 镜头(Lens) 部分中启用 尘土蒙版纹理(Dirt Mask Texture) 选项。使用纹理(Texture)选择将纹理应用于尘土蒙版。
在这里插入图片描述

UE4中文文档地址

猜你喜欢

转载自blog.csdn.net/weixin_43081805/article/details/88892627