2.7HDR与LDR

news2024/10/5 12:14:05

一、基本概念

1.基本概念

动态范围(Dynamic Range) = 最高亮度 / 最低亮度

  • HDR = High Dynamic Range
  • LDR = Low Dynamic Range

HDR与LDR和Tonemapping的对应关系:

  • 我们常用的各种显示器屏幕,由于不同的厂家不同的工艺导致它们的实际物理亮度是不一致的
  • LDR是以一个0-1范围的值,对应到不同屏幕上,由于亮度不同强度不同,我们需要进行对应的匹配,即匹配当前屏幕最低亮度0和最高亮度1的范围
  • 自然界中的高动态范围,自然界中的最低亮度和最高亮度差异是十分大的,如蜡烛与太阳
  • 如果要将太阳这样的超高的动态范围转换到各种显示器上可以看到的低动态范围,这一过程就叫做Tonemapping

补充:我们的电脑屏幕的最高亮度是通过上个世纪一系列经验累计得到的相对统一的亮度,对人眼来说比较安全的亮度强度,所以我们看电脑屏幕感觉对眼睛的伤害是比较小的,基本上是无伤害的,但当我们直视太阳光时,太阳光强度是会对我们的眼睛造成损伤的

2.LDR:

  • 8位精度(8位精度:2*2*2*2*2*2*2*2=256,即8个2相乘,16位即16个2相乘)
  • 单通道0-1
  • 常用LDR图片储存格式有jpg/png等
  • 拾色器、一般的图片、电脑屏幕

3.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 -> LDR
  • LDR图像发送给显示器

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

1.Bloom用来表现高光的晕光效果(光晕、泛光)

2.Bloom的实现过程

1.先渲染出原图

2.然后计算超出某个阈值的高光像素

3.对高光像素进行高斯模糊

叠加光晕

最后成图

3.简述UnityBloom流程

unity中的流程会在第一步down simple处计算高光的像素,然后高光的像素不停的做downsimple,并存在RT(Render Texture渲染纹理)里,到了一定次数,次数会由参数来控制,在一步步up回去,在up过程中,会将之前的down simple加入一步步上采样回到原来的分辨率

四、HDR与Tonemapping

1.ToneMapping概念

LDR的颜色为0-1,HDR的颜色为超出1或低于1的颜色,想通过显示器表现更多颜色就得把HDR压缩成LDR,而这种映射关系即色调映射ToneMapping

此图为一个线性的亮度映射,但并不符合真实世界,因此所有映射最终靠一个s曲线实现

  • 色调映射
  • ToneMapping:把HDR转化为LDR
  • 线性映射效果极差
  • 把高亮区域和阴影区域向中等亮度方向压缩->S曲线

2.ACES

  • Academy Color Encoding System学院颜色编码系统
  • 最流行、最被广泛使用的Tonemapping映射曲线
  • 效果:对比度提高,很好地保留暗处和亮处的细节

其他类型的Tonemapping曲线

五、LUT

  • 在Color Grading的All None模式中有LUT,简单来说就是滤镜
  • 但LUT与Tonemapping不同,LUT在LDR之间做变化,Tonemapping是对HDR做变化,调整rgb三个通道的LUT被称为3D LUT
  • 可以在PS里面调整LUT,导出的LUT作为滤镜调整画面,相当于调整整个画面的滤镜

作业:

结合先行版基础渲染光照介绍(一)试试IBL在HDR和LDR的区别

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1717424.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【GlobalMapper精品教程】083:基于DEM整体抬升或下降地形高程的两种方式

在Globalmapper24中文版中,可以很方便地对DEM高程数据进行整体抬升或下降。 文章目录 一、准备DEM数据二、高程整体修改1. 修改偏移2. 数据导出三、栅格计算器一、准备DEM数据 订阅专栏后,从私信查收实验数据及Globalmapper24中文版,加载实验数据包data083.rar中的dem数据,…

Unity【入门】脚本基础

Unity脚本基础 文章目录 1、脚本基本规则1、创建规则2、MonoBehavior基类3、不继承MonoBehavior的类4、执行的先后顺序5、默认脚本内容 2、生命周期函数1、概念2、生命周期函数有哪些3、生命周期函数支持继承多态 3、Inspector窗口可编辑的变量4、Mono中的重要内容1、重要成员2…

一个良好的嵌入式系统框架(基于FreeRTOS)

目录 Unix操作系统里的优先级嵌入式系统里的优先级 Unix操作系统里的优先级 在《Unix传奇》中有这样一句话,用户态的进程/线程是三等公民、root线程是二等公民、硬件中断是一等公民。 在操作系统中,"用户态"和"内核态"是两种不同的…

深入Kafka消息分区机制:从原理到实践

深入Kafka消息分区机制:从原理到实践 在现代分布式系统中,如何高效地处理海量数据是一个至关重要的问题。Apache Kafka作为一种高吞吐量的分布式消息系统,广泛应用于日志收集、实时分析等场景。为了保证数据的高效处理和系统的高可扩展性&am…

全新/二手KEITHLEY 2400 数字万用表

吉时利Keithley 2400数字源表,200V,1A,20W Keithley 2400 源表是一款 20W 仪器,可输出和测量 5V(输出)和 1V(测量)至 200V DC 的电压以及 10pA 至 1A 的电流。该万用表功能包括高重复…

2024 RCTF WebMisc部分 WP

Misc gogogo 考点:内存取证 得到 gogogo.raw 内存取证的题用volatility和AXIOM结合分析 AXIOM 分析存在云服务 但是百度网盘要密码 https://pan.baidu.com/share/init?surlZllFd8IK-oHvTCYl61_7Kw 发现访问过sqlite数据库 可以尝试提取数据库文件出来 结合 volatility 第…

Flutter基础 -- Dart 语言 -- 列表集合枚举

目录 1. 列表 List 1.1 初始 1.2 声明 1.2.1 自动 1.2.2 定长 1.2.3 生成数据 1.3 属性 1.4 方法 1.4.1 添加 1.4.2 查询 1.4.3 删除 1.4.4 Range 1.4.5 洗牌 1.4.6 排序 1.4.7 复制子列表 1.4.8 操作符 2. 集合 Map 2.1 初始 2.2 声明 2.2.1 松散 2.2.2 …

python-求点积

【问题描述】:给出两个数组,并求它们的点积。 【问题描述】:输入A[1,1,1],B[2,2,2],输出6,即1*21*21*26。输入A[3,2],B[2,3,3],输出-1,没有点积。 完整代码如下: alist(map(int,input().split())) blist(…

vue路由跳转之【编程式导航与传参】

vue路由有两种跳转方式 ----> 编程式与声明式,本文重点讲解vue路由的【编程式导航 】【编程式导航传参 ( 查询参数传参 & 动态路由传参 ) 】等内容,并结合具体案例让小伙伴们深入理解 ,彻底掌握!创作不易,需要的…

Maven项目通过maven central 发布到中央仓库 https://repo.maven.apache.org/ 手把手教学 最新教学

一、注册maven central账号 ​ https://central.sonatype.com/publishing/namespaces 我这里直接使用github账号登录 ,可以自己注册或者直接使用google账号或者github账号登录 这里github账号登录之后 应该只出现io.github 下面的io.gitee我也验证过 所以这里出…

AltiumDesigner/AD添加数据库连接

1.首先确保本机电脑有无对应的数据库驱动,例如我这边要添加MySQL的数据,则需要首先下载MySQL数据驱动:MySQL :: Download MySQL Connector/ODBC (Archived Versions) 2.运行“odbcad32.exe”,如下图添加对应的数据库配置&#xf…

Python魔法之旅-魔法方法(05)

目录 一、概述 1、定义 2、作用 二、应用场景 1、构造和析构 2、操作符重载 3、字符串和表示 4、容器管理 5、可调用对象 6、上下文管理 7、属性访问和描述符 8、迭代器和生成器 9、数值类型 10、复制和序列化 11、自定义元类行为 12、自定义类行为 13、类型检…

openresty(Nginx) 配置 特殊URL 密码访问 使用htpasswd 配置 Basic_Auth登录认证

1 使用htpasswd 生成密码文件.htpasswd是Apache附带的工具。如果没有可以安装。 #centos 8.5 系统 yum install httpd-tools #Ubuntu 24.04 系统 sudo apt update sudo apt-get install apache2-utils #生成密码文件,用户test sudo htpasswd -c /usr/local/openresty/nginx/…

独家首发 | 基于 KAN、KAN卷积的轴承故障诊断模型

往期精彩内容: Python-凯斯西储大学(CWRU)轴承数据解读与分类处理 Python轴承故障诊断入门教学-CSDN博客 Python轴承故障诊断 (13)基于故障信号特征提取的超强机器学习识别模型-CSDN博客 Python轴承故障诊断 (14)高创新故障识别模型-CSDN…

Git使用规范及命令

文章目录 一、Git工作流二、分支管理三、Git命令操作规范1. 切到develop分支,更新develop最新代码2. 新建feature分支,开发新功能3. 完成feature分支,合并到develop分支4. 当某个版本所有的 feature 分支均合并到 develop 分支,就…

【漏洞复现】大华 DSS 数字监控系统 user_edit.action 信息泄露漏洞

0x01 产品简介 大华 DSS 数字监控系统是大华开发的一款安防视频监控系统,拥有实时监视、云台操作、录像回放、报警处理、设备管理等功能。 0x02 漏洞概述 大华 DSS 数字监控系统 user_edit.action 接囗处存在信息泄露漏洞。未经身份验证的远程攻击者可利用此漏洞…

无意间看到男主眼神,这也太有感觉了吧❗❗

2025即将首播《藏海传》中国大陆剧情/奇幻/古装共40集。 原本,稚奴身为大雍国钦天监监正蒯铎之子,背负着家族血仇。 历经十年沉默与磨砺,他化名为藏海(肖战 饰),重返京城。 他凭借卓越的营造技艺和深谙纵…

gitbook安装 报错处理 windows系统

首先需要有nodejs。若没有,则去nodejs官网下载nodejs安装。 然后安装gitbook。命令如下:这是在linux系统的命令。 $ npm config set registry http://registry.npm.taobao.org #设置一下淘宝镜像(非必选) $ npm install gitbo…

B站稿件生产平台高可用建设分享

背景 B站作为国内领先的内容分享平台,其核心功能之一便是支持UP主们创作并分享各类视频内容。UP主稿件系统作为B站内容生产的关键环节,承担着从内容创作到发布的全过程管理。为了满足不同创作者的需求,B站提供了多种投稿渠道,包括…

深入探讨 Android 的 View 显示过程与源码分析

文章目录 1. 探讨 Android 的 View 显示过程1.1. onFinishInflate1.2. onAttachedToWindow1.3. onMeasure1.4. onSizeChanged1.5. onLayout1.6. onDraw 2. 系统代码分析1.1. onFinishInflate1.2. onAttachedToWindow1.3. onMeasure1.4. onSizeChanged1.5. onLayout1.6. onDraw …