Vision引擎中后期处理器 - 色调映射介绍

色调映射是映射一个 HDR 渲染结果至可输出到屏幕的 0 到 1 范围、并进行颜色纠正的处理过程。 Vision SDK 色调映射后期处理器支持四种不同类型的色调映射: TONEMAP_SCALE、TONEMAP_SCALE_MAP、TONEMAP_GRADING、TONEMAP_NONE。

此外, VPostProcessToneMapping 支持一种动态模糊的简化形式,性能开支很低。 它简单地将当前渲染结果与之前渲染的帧混合。 动态模糊效果的强度可使用色调映射构建器中的动态模糊反馈参数指定,或直接通过 VPostProcessToneMapping::SetToneMapping指定。

  注: 在 8.2 版中新增了一个新的色调映射后期处理器,即 Adaptive Tone Mapping Post Processor(自适应色调映射后期处理器)

属性
Active(激活): 设置是否激活色调映射

   Component ID(组件 ID): 可选组件名称,用于在附加组件中标识该组件

  Tone Map Type(色调映射类型): 色调映射模式。

TONEMAP_SCALE: 简单地将色调映射器中定义的亮度、对比度和饱和度设置应用到被渲染场景中
TONEMAP_SCALE_MAP: 同上,但还会重新缩放 HDR 颜色至 0 到 1 的范围(”真实”色调映射)
TONEMAP_NONE: 用一次简单的位块传输替代色调映射,比执行色调映射略快。
TONEMAP_GRADING: 分级允许您使用图片来调整颜色、亮度和对比度。

Grading 3D Texture(分级 3D 纹理):用于颜色分级寻址的 3D 纹理。 (仅分级模式)

技术说明:
颜色分级是一种色调映射技术,未处理图像中的每个源色可被映射到任意目标色。 在仅应用对比、亮度和饱和度的特殊场合,这一转换为线性,所以可通过一个应用于 3 颜色分量的 4×3 矩阵实现。 相应地,屏幕上的每个像素在默认色调映射器执行过程中都被像素着色器中的矩阵相乘。

但颜色分级是更通用的手段。 因为任何 RGB 值都能映射到另一个任意的 R'G'B' 值,所以最显然的处理方式是三维颜色寻址表,其中每个源分量(0..255)都可被寻址。 自然,这是通过在 3D 体积贴图中寻址作为 UVW 坐标的源颜色实现的。 如需完全的精度,则需要 256x256x256 的纹理。 该纹理的内存占用(64MB!)很大,对性能的影响也太高。 因为 3D 纹理的颜色寻址为三线插值,映射函数的偏导数性能通常较佳,所以小得多的纹理也能充分完成任务。 在实践中,32x32x32 的纹理就足够了。 在本文档中,该纹理将被称作 LUT(寻址表)。

其难点在于生成该 LUT 纹理,即生成表格、定义颜色映射、以美术总监所希望的方式微调场景颜色方案。 vForge 内置一个工具,用于从图像对比中提取该表格。 下面我们来说明所需的步骤。

  vForge 提供创建颜色分级表的专用工具。 该工具位于 vForge菜单 → Extras(附加) → Generate Color Grading Texture(生成颜色分级纹理)。 

Saturation(饱和度): 应用的饱和度。 低于 1 的值会降低饱和度,高于 1 的值会增加饱和度。 (如 ToneMap(色调映射)属性设为“grading mode”则该属性会被忽略)

  注: ToneMap  属性值需设为非 “grading mode” ,对比度、亮度和染色属性方可生效。

Tint Color(染色): 对最终结果的染色;(如 ToneMap 属性设为“grading mode”则该属性会被忽略)

Contrast(对比度): 对比度值。 低于 1 的值会降低对比度,高于 1 的值会增加对比度。 (如 ToneMap(色调映射)属性设为“grading mode”则该属性会被忽略)

Brightness(亮度): 亮度的值。 低于 0 的值会降低亮度,高于 0 的值会增加亮度。

Motion Blur Feedback(动态模糊反馈): 动态模糊反馈的强度。 较高的值产生较强的模糊。

转自:project anarchy中文社区

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值