博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
三言两语说清“线性流程”
阅读量:5095 次
发布时间:2019-06-13

本文共 1031 字,大约阅读时间需要 3 分钟。

“线性流程”是Siggraph 2008上被正式提及的。其实“线性流程”完全是色彩管理流程的一个基本组件贯彻在CG制作的各个环节。本来就应该是这样的事情,我也不晓得怎么突然成了一个“高端”讨论问题。

显示设备必须要具有这样的特性,那就是表现真实世界的能量线性叠加特性——同样的一个物体,受到两盏同样的灯照明反射出的光能肯定是一盏灯的两倍。但是同时,对于显示设备(主要是从CRT)来说,却办不到这一点:倘若你输入128,那么它的发射强度却不是255的一半,而是要小的。

于是,我们就需要将交给显示器显示的数据进行补偿,在摄影机拍摄时候就已经自动的加强过了。这样,让加强过的视频数据交给显示器显示,才能体现出真实世界的“线性”特性。对于Panavison Genisis来说,它将真实世界的能量分布映射到对数空间,然后再提供查找表将色彩变换到线性空间,为了正常显示,你还必须使用伽玛校正,这样在你的显示器上看到的才是和摄影机拍摄的场景是“相同的”。对于DSLR来说,相机自己就已经做了校正,在我的Nikon D80上大概是1/0.45约等于2.2。

在这里我们根本就不应该参与讨论人眼的视觉特性,因为人眼是主观的观察角色,只要数据在交换过程中经过变换后符合显示设备的特性,那么人眼所看到的东西应该是不变的。

事实上,任何是否PBR的渲染机制,本质上都是用程序来模拟真实世界的光能交互,这个过程也完全是线性的。美工绘制的贴图,在进入Shader计算前其实都需要变换到线性色彩空间中进行计算。对于HDR照明来说,HDR环境贴图的数值一般都是线性的,可以直接参与渲染,倘若做Tone Mapping,其实正确的过程应该是先做函数空间压缩,再做伽玛校正。所幸的是,如今的渲染器默认将伽玛值都设置为了1.0,其含义也就是,在当前的显示系统上,你绘制的情况是什么你渲染的情况就是什么,软件绝不做任何补偿修饰。这样的话,进一步来说,其含义就是,你所满意的渲染结果只在你当前的显示设备上有效,倘若要进行交换,那么必须要附上显示器的ICC,这样别人的显示设备才能正常显示。

可惜国内目前根本没有工作室没有真正的部署色彩管理流程,这些基本的保障生产质量的手段也就根本无从谈起,有多少人晓得,CRT一周就要重新较色,LCD两周就要较色这个道理的?

转载于:https://www.cnblogs.com/Jedimaster/archive/2009/09/30/1577089.html

你可能感兴趣的文章
1)session总结
查看>>
PHP深浅拷贝
查看>>
SDN第四次作业
查看>>
ActiveMQ(4) ActiveMQ JDBC 持久化 Mysql 数据库
查看>>
DM8168 DVRRDK软件框架研究
查看>>
django迁移数据库错误
查看>>
epoll学习01
查看>>
yii 跳转页面
查看>>
闭包问题
查看>>
C#一个FTP操作封装类FTPHelper
查看>>
Linux运维基础入门(二):网络基础知识梳理02
查看>>
你所不知道的 CSS 阴影技巧与细节
查看>>
MyBatis框架的使用及源码分析(三) 配置篇 Configuration
查看>>
20172319 实验三《查找与排序》实验报告
查看>>
构造函数的继承
查看>>
Nginx的虚拟主机配置
查看>>
overflow 属性
查看>>
Java中多态的一些简单理解
查看>>
洛谷 1449——后缀表达式(线性数据结构)
查看>>
[最小割][Kruskal] Luogu P5039 最小生成树
查看>>