网站招聘怎么做,个人博客主页代码,莱芜装修网站,icp备案查询站长之家一、基本概念
1.基本概念
动态范围#xff08;Dynamic Range#xff09; 最高亮度 / 最低亮度
HDR High Dynamic RangeLDR Low Dynamic Range
HDR与LDR和Tonemapping的对应关系#xff1a;
我们常用的各种显示器屏幕#xff0c;由于不同的厂家不同的工艺导致它们的…一、基本概念
1.基本概念
动态范围Dynamic Range 最高亮度 / 最低亮度
HDR High Dynamic RangeLDR Low Dynamic Range
HDR与LDR和Tonemapping的对应关系
我们常用的各种显示器屏幕由于不同的厂家不同的工艺导致它们的实际物理亮度是不一致的LDR是以一个0-1范围的值对应到不同屏幕上由于亮度不同强度不同我们需要进行对应的匹配即匹配当前屏幕最低亮度0和最高亮度1的范围自然界中的高动态范围自然界中的最低亮度和最高亮度差异是十分大的如蜡烛与太阳如果要将太阳这样的超高的动态范围转换到各种显示器上可以看到的低动态范围这一过程就叫做Tonemapping
补充我们的电脑屏幕的最高亮度是通过上个世纪一系列经验累计得到的相对统一的亮度对人眼来说比较安全的亮度强度所以我们看电脑屏幕感觉对眼睛的伤害是比较小的基本上是无伤害的但当我们直视太阳光时太阳光强度是会对我们的眼睛造成损伤的
.LDR
8位精度(8位精度2*2*2*2*2*2*2*2256即8个2相乘16位即16个2相乘)单通道0-1常用LDR图片储存格式有jpg/png等拾色器、一般的图片、电脑屏幕 .HDR
远高于8位的精度单通道可超过1常用HDR图片储存格式有hdr/tif/exr/raw等HDRI、真实世界 补充
真实世界中例如相机相机拍摄过程中它是如何把真实世界的光给映射到屏幕上的相机屏幕上可以看到那样LDR的范围
相机在拍照过程中有曝光这一过程先把曝光进行一个计算计算后传入到相机能够感应到范围内之后受到光圈、快门时间、传感器、灵敏度等影响传入到相机能够感应到范围内后再把值输出线性的值存储进相机的图片中一般数码相机的格式是iw之后再经过变换该过程叫做LUT经过一个线性的变换通过白平和、色彩校正、色调验色以及伽马校正把这一过程得出的结果烘培成LUT每个相机厂商在做相机拍照时他们的LUT格式各不相同
4.为什么需要HDR
LDR只能算是对现实颜色进行压缩并呈现出来看似丰富但和现实中的颜色比还是有局限性一旦进行后效和后续加工会因颜色不够而难以进行所以在渲染过程中为了更好的画面表达。
更高的动态范围以及更丰富的细节可以用HDR来有效防止画面颜色过曝超过亮度值1的颜色也能很好的表现出来像素传达更加正常视觉传达也更加真实。 HDR才有超过1的数值才有光晕bloom的效果高质量渲染的bloom能体现画面的渲染品质 HDR的一些来源网站可以下载HDR图片可以用作一些反射球
http://www.hdrlabs.com/sibl/archive.htmlhttps://www.openfootage.net/hdri-panorama/
二、Unity中的HDR
1.Camera-HDR设置
场景将渲染为 HDR 图像缓冲区屏幕后处理Bloom Tonemapping完成转化HDR - LDRLDR图像发送给显示器 2.Lightmap HDR设置
选择 High Quality 将启用 HDR 光照贴图支持而 Normal Quality 将切换为使用 RGBM 编码。RGBM 编码将颜色存储在 RGB 通道中将乘数 (M) 存储在 Alpha 通道中 3.拾色器 HDR设置 使用 Intensity 滑动条可以调整颜色的强度 滑动条每增加1则提供的光量增加一倍使用 Intensity 滑动条下的曝光样本可以看到当前颜色值在任一方向的预览效果
4.HDR的优缺点
优点
画面中亮度超过1的部分不会被截为1增加白色部分的细节并且减少曝光更好地支持Bloom效果减少画面较暗部分的色阶感
缺点
渲染速度较慢需要更多显存不支持硬件抗锯齿部分手机不支持
三、HDR与Bloom
Bloom在游戏中是一种比较常见的效果是通过后期处理的方式来达到模拟现实生活中物体在强烈光源照射下出现“光晕”的效果。
Bloom的基本原理与效果Bloom与HDR的关系Bloom的美术意图Bloom在Unity中的基本实现
1.Bloom的基本原理与效果 很明显上图中使用了bloom的在阳光洒下的地方会产生强烈的光晕这个就是bloom效果大家也常叫这种特效辉光。
2.Bloom的实现过程
1.先渲染出原图 2.然后计算超出某个阈值的高光像素 3.对高光像素进行高斯模糊 叠加光晕 总结一下就是bloom其实就是拿到一张图像对期望区域进行模糊处理再加回到原图最后输出
3.简述UnityBloom流程 unity中的流程会在第一步down simple处计算高光的像素然后高光的像素不停的做downsimple并存在RTRender Texture渲染纹理里到了一定次数次数会由参数来控制在一步步up回去在up过程中会将之前的down simple加入一步步上采样回到原来的分辨率
4.Bloom与HDR
怎样理解HDR
在引擎里始终打开bloom在HDR和非HDR的环境下观察效果 我们看到左边的HDR使用的是Use Graphics Setting 由于我们的目标平台为PC所以在Graphics Setting里面默认是使用HDR的。 先来观察打开HDR的图像是这样的 我们再次关闭HDR观察图像是这样的 Bloom始终打开但在HDR与非HDRLDR的两者环境下的图像受光部分出现了比较强的反差没有HDR支持的小恐龙受光部分的光晕弱了很多那是什么导致了这样的原因
为什么HDR下的效果会如此强烈是什么导致了这样的反差上面也说过是两者处理时使用的数据精度不一样所造成的。那要如何形象的理解这里的精度不一呢?认为如果形象的理解了这个精度那么对于得到这两个结果的不同就豁然开朗如下图 我们就先用一个亮度的概念来解释HDR比LDR拥有着更多的亮度。也就是说HDR跨过了LDR的最大存储容量每通道8bit共32bit的容量这意味HDR能拥有更多的颜色如果归一化解释假设这个LDR下亮度最多到1那么HDR则会突破这个限制超过1。 红色表示两种模式下模糊受光部分的精度
假设红色部分是我们要模糊的那部分像素LDR下我们拥有的精度比HDR下少很多的信息因此得到的结果也就比HDR下弱很多。
当我们拿到更高精度的数据去处理图像的时候那么得到的也将是更高精度的结果。
总结一下开启HDR后ColorBuffer里则会存储更多的数据当跟一些特殊的后效搭配可以得到一些更高级的效果如果把这个”高动态范围“解释为”高精度范围“或者美术更好理解一点的”高明度范围“会不会更好理解一点呢
HDRBloom的美术意图
不同的项目或许风格迥异但都希望在画面上获得更多的宽容度拉高上限来获得更高自由度去创造虚拟世界不管是明度对比还是色彩对比画面更多的层次、更丰富的变化永远是美术人追求的目标。这就像是在地面有一个道具策划往往希望玩家能很明显的观察到这个可交互物这时就需要一些辅助手段比如加个特效换个OutlineShader等这本质上就是一种拉开画面层次的手段尽管这个做法并非基于画面美感去考虑的。美感的表达往往是在统一中寻求变化在这个统一的框架下变化越是丰富画面也越经得住眼睛的长时间的考验。我也认为这也就是为什么2D美术即使像油画般精致却还是被实时渲染的历史潮流无情碾压实时渲染可以有着更丰富的即时变化这些技术都是动态的且还在不断地进步发展是动态的那就说明可以给画面提供更丰富的变化。 那么从美术上肯定也是需要这种拉开美术关系画面层次的手段。
HDRbloom就是其中的一种手段在提升画面层次气氛的营造有很重要的作用它可以让静谧的夜晚显得更神秘正午的阳光更炙热。
without bloom 那如果我将这个场景的层次进一步拉开我们打开bloom
with bloom 意境在bloom加入之后得到了进一步提升。光晕让视觉中心得到了进一步的强化。也让”月光“这个看不见摸不着的东西在画面中也能得到隐约的感受。
总结更高的技术宽容度即更高的表现宽容度
四、HDR与Tonemapping
1.ToneMapping概念
LDR的颜色为0-1HDR的颜色为超出1或低于1的颜色想通过显示器表现更多颜色就得把HDR压缩成LDR而这种映射关系即色调映射ToneMapping
此图为一个线性的亮度映射但并不符合真实世界因此所有映射最终靠一个s曲线实现 色调映射ToneMapping把HDR转化为LDR线性映射效果极差把高亮区域和阴影区域向中等亮度方向压缩-S曲线
2.ACES
Academy Color Encoding System学院颜色编码系统最流行、最被广泛使用的Tonemapping映射曲线效果对比度提高很好地保留暗处和亮处的细节 其他类型的Tonemapping曲线 五、LUTLookup Table
在Color Grading的All None模式中有LUT简单来说就是滤镜但LUT与Tonemapping不同LUT在LDR之间做变化Tonemapping是对HDR做变化调整rgb三个通道的LUT被称为3D LUT可以在PS里面调整LUT导出的LUT作为滤镜调整画面相当于调整整个画面的滤镜格式有如下几种
一个小trick可以在PS中调整LUT导出的LUT作为滤镜调整画面 六、作业
结合先行版基础渲染光照介绍一试试IBL在HDR和LDR中的区别
//以后再写吧