Arnold(C4DToA)阿诺德渲染教程(37) – Gamma 校正和线性工作流Linear Workflow

Arnold(C4DtoA) Mr.R 2年前 (2017-11-06) 2450次浏览 已收录 0个评论 扫描二维码

说到Arnold渲染,不得不提到阿诺德Linear Workflow的线性工作流,

说到这个问题,想要去完全理解它,确实很难,很蛋疼,原理性的东西毕竟非常生涩难懂,

辣么,这里我就基于自己的理解,来跟大家分享一下学习心得,如有纰漏和错误,欢迎大家指正。

 

线性工作流程就是软件在计算时,所有参与计算的数据都是基于线性的。我们使用的几乎所有图像处理软件都是基于线性的计算方式。

就是说1+1=2 2*2=4 128+128=256。我们使用的maya,max,nuke,shake,fusion,photoshop,mentalray, maxwell都是这种计算方式。

这种流程的正确的前提是它在计算前所有的素材,条件,灯光都是线性数据。

如果我们要充分理解线性工作流程首先需要弄清几个概念。Linear,sRGB, gamma,windous 色彩管理,显示器部分原理,眼睛的部分感官特点,8bit, 16bit,32bit等等。

 

首先来说说Gamma,“广义Gamma”的产生,原因有二:

人眼对自然亮度感知是非线性的。(韦伯定律)
我们用来记录/展示画面的媒介上,灰阶预算是有限的。(无论纸张还是屏幕)

为了在灰阶预算有限的前提下,协调自然亮度主观灰阶感受这二者的映射关系,Gamma就产生了。

另外:我们常用的CRT显示器,不论他是苹果的还是什么的出场的时候本身的物理gamma值都是2.5。

主要原因是撞击显示器荧光粉的电子强对于电压的反应不是线形。

那么显示器的gamma是2.5,而我们只给了2.2的矫正,剩余的2.5/2.2 gamma1.136是用来匹配人类视觉感知的。

Arnold(C4DToA)阿诺德渲染教程(37) – Gamma 校正和线性工作流Linear Workflow - R站|学习使我快乐! - 1

人眼有这么一个特点:

同一块颜色在暗的背景下和亮的背景下看,给人亮度的感觉是不一样的。在暗的背景下感觉会更亮一些。

而我们正常的显示器一般都是在较暗的背景下看的。

在标准的测试环境下gamma1.136正好可以抵消这种视觉偏差。

所以我们在理想情况下看到的显示器是线性的。

那么我们正常情况下所说的“CRT的gamma是2.2”指的是什么呢?

这就涉及到了windows色彩管理:默认的sRGB。

我们的显示器只能显示8bit图,大多数显卡的framebuffer 也只能处理8bite数据,就是说超过8bit的图片显示器是不能完 全显示出来的。

就是说我们只能给显示器8bit的图,这就出现了一个问题。

Arnold(C4DToA)阿诺德渲染教程(37) – Gamma 校正和线性工作流Linear Workflow - R站|学习使我快乐! - 2

又是人的眼睛。

正常人眼察觉明度差别的边界是1%,就是说如果两块颜色明度差别超过1%我们的眼睛感觉到边界。

图片里就会出现边界线条。

那么8bit的图在100色阶以下,明度对比都超过1%,在较暗的场景里就会出现很多的颜色边界。

那么这是发生在linear 8bit空间下的。linear就是说0是最暗,1是最亮,0.5是中间亮度。

Arnold(C4DToA)阿诺德渲染教程(37) – Gamma 校正和线性工作流Linear Workflow - R站|学习使我快乐! - 3

为了解决暗部色阶不够明度差别过大我们只有将更多的空间分布给黑暗的区域才可以取消这种差别。

如果是线性需要大概14bit的数据,而亮部很多数据是无用的。这就引进了非线性空间。

sRGB是微软和惠普联合开发的一个色彩管理标准,目的就是在多平台,多设备下能够很好的显示图片。

基于硬件的局限它被定义在8bit,最大值为1不可以超过1。

关于Gamma的问题,还有很多理论知识,大家可以自行百度。

 

说了这么多,大家需要要了解的一点是:Maya,mentalray, renderman,Arnold

等大多数渲染器渲出来的8bit, 16bit图片都是linear的。也就是说没用经过gamma矫正(转换到sRGB空间)。

而我们是在windows默认sRGB空间下观看。这就有点尴尬了。

 

下面再说说HDR高动态图像来区别一下线性工作与sRGB模式的区别:

我们使用默认的图片查看器保存渲染出来的图像时,会发现JPG格式只支持8bit位深(色彩深度),

颜色深度这一概念来说明其处理色彩的能力。也就是图像上每个像素可显示出的颜色数目就越多,色彩就越丰富,图像就越真实,文件也越大。

对于“8bits per channel”,它的位深度是24bit,可以存储16777216种颜色,这是最常见的素材标准。
对于“16bits per channel”,它的位深度是48bit,可以存储281474976710656种颜色。
对于“32bits per channel”,它的位深度是96bit,可以存储……(你可以算一下)

Arnold(C4DToA)阿诺德渲染教程(37) – Gamma 校正和线性工作流Linear Workflow - R站|学习使我快乐! - 4

比如常见的PNG格式可以支持16bit,PSD/TIFF格式能支持到32bit。

经过PS处理的图片都是使用sRGB色彩空间,既然是sRGB,那它的图像上每个点,都对应着一个RGB值。

Arnold(C4DToA)阿诺德渲染教程(37) – Gamma 校正和线性工作流Linear Workflow - R站|学习使我快乐! - 5

我们可以看到,显示器能够显示RGB分量在(0,255)之间的像素,也就是我们最终呈现在显示器上的backbuffer format最多只是R8G8B8,每个通道8bit, 这样能够表现出的明暗对比度是非常有限的。

那么我们再来看看HDR图像是怎样的?关于HDR图像的具体知识大家可以自行百度。

Arnold(C4DToA)阿诺德渲染教程(37) – Gamma 校正和线性工作流Linear Workflow - R站|学习使我快乐! - 6

我们可以看到HDR文件,能够存储更多的色彩信息,色彩取值范围更大(0.0000~ 1.0000)可以>1 , 同时也更加趋向“线性”色彩范围,

Arnold(C4DToA)阿诺德渲染教程(37) – Gamma 校正和线性工作流Linear Workflow - R站|学习使我快乐! - 7

HDR和转换后的JPG文件对比

 

 

总结一下:

 

关于sRGB和Linear,要说的东西还很多,这里只是做了一些简单的说明和对比,

大家需要了解的是,渲染器使用的Linear 线性色彩空间,而最终显示的是经过sRGB转换后的图片。

下一节,我们将C4D和Arnold对这两种模式转换相关连的一些操作。

 

 

 

 

 

 

 


QQ㊀群: 240424174;QQ㊁群: 749250816;QQ㊂群: 542382043;
㊄群: 860166303;⑥群: 738134262 ⑦群 750397184
常见问题:1、文件解压请使用Winrar5.5版本以上解压;
2、视频播放有声音无画面,请了解下PotPlayer播放器;
3、回复仍不可见隐藏内容,请使用邮箱注册登录;
R大技术站 , 版权所有,如未注明 , 均为原创,如需转载请注明来源!
喜欢 (1)
[itdiy@qq.com]
分享 (0)
发表我的评论
取消评论

表情 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)