高动态范围

本文介绍了高动态范围(HDR)技术,它能提供更广阔的亮度动态范围,以实现更真实的效果。在Unity中,HDR渲染允许更精确的颜色和光泽表现,但也带来额外的显存使用和处理需求。颜色基调重映射是HDR图像转换到SDR显示的关键步骤,确保细节和颜色信息的保留。内置渲染管线中的HDR支持取决于渲染路径和后处理设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

高动态范围

高动态范围(HDR)是一项技术,这项技术可以产生图像,并且所产生图像的亮度的动态范围比使用标准动态范围(SDR)来得更广,它强调对颜色和光泽的真实绘制。

HDR的工作原理

通常在渲染过程中,像素的红绿蓝三个通道的值均是使用0到1之间的8位值进行存储,对于显示设备而言,0表示没有强度,1表示最大强度。这个限制了 颜色值的范围,并不能准确地反映现实生活中人们感知灯光的方式,以及在非常亮或者非常暗的情况下会导致不真实的图像的产生。

在HDR渲染过程中,像素值是浮点型。这意味着像素值可以有更大的选择范围,这样就可以更准确地表示人眼感知颜色和光泽的方式。

Unity中的HDR

在unity中,你可以使用HDR图像进行内部渲染计算,我们称这种方式为HDR渲染。当开启HDR渲染,unity会先将场景渲染进HDR图像缓冲区,然后再执行渲染操作,比如进行后处理,使用HDR图像等。言外之意就是说,在这些计算的执行过程中使用了可以产生极其逼真效果的数值。

在某些兼容的平台上,unity可以发送HDR图像到显示设备上。我们把这点称之为HDR输出

使用HDR的优点
  • 在高亮度的情况下颜色不会丢失
  • 可以获得更好的微光效果
  • 减少低频照明域上的环带现象
使用HDR的缺点
  • 增加了显存的使用率
  • 额外的对于显示在屏幕上的颜色基调重映射的计算
  • 与硬件消除锯齿的方式不兼容

渲染管线的兼容性

渲染管线HDR 渲染HDR 输出
内置渲染管线支持 在每个camera的Inspector面板中, 或者 Camera.allowHDRAPI激活HDR渲染。 在Graphic settings窗口中为各个激活HRD渲染和配置HDR缓冲区格式。支持,不过仅限于某些控制平台 想要了解详情可以参考具体平台的文档
通用渲染管线(URP)支持 在每个camera的Inspector面板中, 或者 Camera.allowHDRAPI激活HDR渲染。 使用通用渲染管线资源激活所有相机的HDR渲染。研究中 开发团队还在研究实现这个功能的方式,目前还没有发布时间的计划
高清晰渲染管线(HDRP)支持 HDR渲染默认对所有摄像机开启,你无法关闭研究中 开发团队还在研究实现这个功能的方式,目前还没有发布时间的计划

颜色基调重映射

颜色基调重映射是将颜色值从一个范围到另一个范围重映射的过程,只要你使用HDR,就必然会用这个重映射在HDR图像缓存区中转换颜色,以便颜色值保持在显示设备可以处理的范围之内。如果不用颜色基调重映射,那么图像就会丢失很多细节和颜色信息,特别是在曝光的区域

在这里插入图片描述一个使用HDR渲染并且使用SDR输出的场景,没有使用颜色基调重映射,大部分像素看起来超出了范围
在这里插入图片描述和上边同样的场景,但是这次,基调重映射把大多数强烈的部分降到了一个看似合理的范围。注意,自适应的颜色基调重映射甚至可以融合上边两幅图,以此来模拟自适应的视觉媒体(比如,眼睛和摄像机)

在使用HDR进行渲染以及SDR进行输出时,就必须使用颜色基调重映射将HDR图像数据转换为SDR图像进行显示。unity提供了颜色基调重映射后处理插件帮助你做到这一点:Post-Processing Stack V2 package, URP integrated post-processing solution, 和 HDRP integrated post-processing solution 所有包含颜色基调重映射的特效都在这里了。

想要了解更多的在支持的控制台平台上使用HDR渲染和HDR输出的资讯,可以参考具体平台的文档说明

在内置渲染管线中使用HDR

在前向渲染路径中,只有摄像机上有post-processing特效,摄像机才能支持HDR,这是处于对性能的考虑。如果摄像机上没有post-processing特效,场景会直接被渲染到后台缓冲区,这个后台缓冲区并不支持HDR

在延迟着色渲染路径下,当摄像机开启HDR时,浮点型的光照缓存区也会随即被分配。这样减少了灯光缓冲区中的条带

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值