http://www.c4dcn.com

3DMAX-VRay超现实渲染设置教程伽玛校正线性工作流

3DMAX-VRay超现实渲染设置教程伽玛校正线性工作流程

3DMAX-VRay超现实渲染设置教程伽玛校正线性工作流程

上图左边是用不正确的Gamma计算出来的效果图,右边是在正确的Gamma环境下调出的结果。VRay在预设条件下很容易计算出华丽饱和的音色,与mentalray细腻清亮的音色有很大不同。其实音感的关键是伽玛,而不是渲染器本身。

伽玛是旧时代的产物。当时,输入到CRT屏幕的单位电压不会产生相同量的亮度(非线性),因此故意创建了一个曲线关系(输入和输入),以使最终输出图像成为线性图像。即使是能产生线性响应的现代屏幕(如液晶),无论是后期合成调色还是3D图像渲染,仍然深深影响着图像处理。

以前,因为数码相机拍摄的图像必须在屏幕上观看,而数码相机发展的时代还是CRT,所以数码相机会自动在照片中嵌入伽玛信息,使照片能够在CRT屏幕上正常显示。然而,如今,这已经成为一个大问题,因为所有的渲染引擎VRay,mentalray,Finalrender,Maxwell,..物体与光的反应是在线性环境下计算的,所以如果输入带有Gamma信息的贴图,会造成输出图像的错误(误差)甚至是对颜色调性的某种误解(比如VRay看起来比mentalray更华丽)。

3DMAX-VRay超现实渲染设置教程伽玛校正线性工作流程

由mentalray计算的效果图

这里有一些不同来源的翻译文章,可以帮助你抓住机会理解概念,因为线性工作流是未来的趋势。当浮点运算(16位或32位)的后期编辑软件成为主流,每一个专业领域的人每天都会与LDR、HDR、伽马作斗争。

3DMAX-VRay超现实渲染设置教程伽玛校正线性工作流程

这是Autodesk3dsmax2010帮助中的示意图。这个过程几乎涵盖了所有的概念。关键是在将图形文件交给渲染器之前,将它更改为线性数据。此时,绘图文件可以在渲染器的黑盒中以正确的数学公式计算结果。最后,即使结果是正确的,你没有调整到屏幕对面的gamma值,它看起来也会像一个错误的图像!

伽马校正是一个经常被误解的概念。简单来说,gamma描述的是相机或屏幕非线性响应的现象。当相机(模拟或数字)接收两倍的光源时,相机不会将该数据存储为两倍的RGB值。相机的记录系统之所以会有这种记录模式,原因有很多——这种现象被称为伽玛。原因之一是显示器本身的灵敏度。比如负片有非线性的灵敏度曲线,CRT屏幕也有同样的问题:像素的亮度与输入电压强度不是线性关系。

另一个原因是,人眼在黑暗中对细节的敏感度要高于在亮处(人眼的敏感度曲线实际上是一条对数曲线,称为韦伯-费希纳定律),所以人眼是以非线性的方式记录信号的。现代的液晶显示器(TFT)本身没有固有的伽玛问题,但是为了迎合传统的工作流程,TFT屏幕会刻意模拟伽玛效果。

建议读者也可以阅读这篇关于线性彩色空的文章,你会知道伽玛校正在处理HDRI数据时的重要性。如果你仍然不明白正确处理伽马射线的重要性,请继续阅读。

伽马的基本概念(伽马101)

所有屏幕都有非线性输入和输出响应。这是故意的。

大多数2D软件会处理线性颜色模型,所以它假设255的亮度是128的两倍。但是由于显示器的输入输出是非线性的,产生的亮度会不正确。其实大部分屏幕(gamma=2.2),如果要显示255个值的50%亮度,就得输入(0.5(1/2.2))*255=186的值。如果不考虑伽玛,输入128的值只会产生(128/255)2.2=22%左右的亮度。

数码相机基本上都是线性的输入输出效果,但是因为我们平时看的都是电脑屏幕上拍出来的照片,所以数码相机会刻意在照片中嵌入伽玛。(所以。JPG的格式是gamma,但是RAW的格式是线性数据。当您将RAW文件转换为JPG格式时,将产生非线性照片)

因此,如果您使用2D软件打开照片的jpg文件,您必须补偿回伽玛(删除伽玛)。

如果你的图片是由2D软件生成的(基本上,这张图片是线性的),当你在有伽玛的屏幕上显示这张图片时,你也要进行伽玛补偿。

关于gamma的更多信息

不是伽马虫,是函数,因为人的眼睛对光的亮度有非线性感光反应。如果每种颜色只有8位来记录颜色数据,那么使用这8位来正确再现人眼的敏感度就很重要。这一定是一种非线性编码方法。即使是较新的屏幕仍然有gamma:常数显卡将使用8位来处理每种颜色,以避免色带问题,并且这8位必须在每个强度下等距分布。有些屏幕厂商有能力做出线性响应曲线的屏幕,但是如果你用8位来显示画面,效果会很不好。

现在,大多数计算机屏幕都是按照sRGB标准,即伽玛2.2显示的。

大多数数码相机也记录sRGB的照片。如果是扫描图像或者合成图像,就不会有伽马2.2。

几乎所有浮点记录的HDR数据都是线性的,即伽玛为1.0。

对于图片,“伽马”代表强度是如何记录的。换句话说,图片文件的伽玛就是让图片在屏幕上正确显示。

有些图片会贴上gamma的标签,但是这个不靠谱,因为很多画图软件都会忽略这个标签。所以要正确的知道图纸的gamma值并不容易。

如果您的屏幕的灰度系数为2.2,并且显示的图片看起来正常,则该图片的灰度系数可能为2.2。

3D图形引擎将假设光线是以线性模式记录的。因此,您可以将任何不是线性记录的图形文件(带有gamma)扔给图形引擎。严格来说,这个图形文件呈现的效果是错误的(虽然可能还是好看的)。

请注意,NVIDIA图形驱动程序隐藏了伽玛复杂度。当你在NVIDIA控制面板里看到“1.0”的时候,其实是指gamma2.2。所以“英伟达的γ=1.0”其实是标准的sRGBγ2.2。

什么时候你会忽略伽玛问题并犯下可怕的错误?

基本上,当你想要编辑像素混合时,就会有差异。例如:

抗锯齿,尤其是在线框渲染或渲染高对比度图像时。

缩小图片。所以对比度高的图像会产生更明显的误差。

半透明物体

3dsMax中的伽玛

Gamma可以在首选项菜单中控制。基本上有三个伽马值可以调整:

显示显示器的伽玛。通常,这将被设置为2.2。

阅读地图时自动加载伽玛。这个函数对图像进行伽玛线性化。通常,这个设置为2.2。注意:如果打开嵌入了灰度信息的图形文件,3dsMax将应用固定的灰度值,而不是图形文件的灰度值!当然,您可以在打开图形文件时更改此设置。

当您保存图像文件时,将处理输出灰度系数。如果要保存线性浮点图形文件格式,该值应为1.0。如果您只是想让这个图像显示在屏幕上,请使用2.2。

3DMAX-VRay超现实渲染设置教程伽玛校正线性工作流程

当您打开嵌入了灰度系数的位图图像文件时,您可以选择是应用常规灰度系数值,还是在打开图像文件时读取图像文件的灰度系数。将凹凸或置换贴图的gamma设置为1.0很重要,因为这些是线性数据!

请注意,一些旧的3dsMax算法已经被调整为“看起来很好”,没有伽玛校正,因此如果您正确地进行伽玛校正,将会看起来很有趣。

渲染场遇到伽玛问题

当您的渲染从属对象不知道您发送的max场景文件中的gamma数据时,将会出现打印问题,因此您可以设置尊重每个打印从属对象中的gamma状态,以便在您读取max场景文件时自动加载gamma。

在3dsMax2009中,使用分布式桶渲染(DBR)时会出现一个bug。它将强制加载一个固定的nputGamma。这是因为分布式图形将自动启动mr贴图管理器,这将忽略“每位图”gamma的设置。因此,当你在场景中使用HDR文件时,HDR会受到伽玛=2.2的影响,所以最终的图像会太暗。当前的解决方案是将全局输入gamma设置为1.0,然后使用Mr的“效用gamma/增益”着色器从贴图中移除gamma。

经常被误解的伽玛概念

神话:我已经纠正了屏幕-所以我不需要担心伽玛。

不对。当你校正了屏幕,这通常意味着你已经校准到标准的sRGB曲线,通常是伽玛2.2。当你的屏幕被校正后,意味着你所有的图片都必须进行gamma2.2补偿。

误解:我的数码相机记录“线性”照片。

也许,如果你把它保存在RAW文件中,它是线性格式的。没错。但是当你把原始文件转换成JPG格式时,它会自动应用伽玛,通常是2.2。

如果这篇文章对你有帮助,请留下赞和你的评论!谢谢你的支持。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。