线性工作流(LWF)在VRay和3Ds Max中的应用

2015-02-22 06:08
吉林建筑大学学报 2015年2期

李 闯

(吉林建筑大学艺术设计学院,长春 130118)



线性工作流(LWF)在VRay和3Ds Max中的应用

李闯

(吉林建筑大学艺术设计学院,长春130118)

摘要:本文阐述了LWF在Vray和3Ds Max渲染中的运用.针对于目前大多数渲染结果显示不正确的问题,讨论了渲染结果颜色与材质颜色相差很多的原因,提出了LWF渲染方法.

关键词:LWF;VRay;Gamma

1LWF原理

在计算机辅助设计中,设计师常常会遇到一些困惑,渲染结果的颜色和材质的颜色相差很多,灯光强度很高渲染却依然很暗.光线的衰减并没有按照“应该的样子”去工作,因为渲染器都是基于线性色彩空间进行运算的,但是计算机系统的默认色彩空间是SRGB(非线性色彩空间).所以进行测试渲染的时候,我们无法估计正确的渲染效果,很容易被“显示结果”所误导,做出一些错误的补偿.近些年,国外的一些设计公司、工作室进行计算机渲染时,都遵循着系统与软件相匹配的流程,这种流程被称之为线性工作流程(Linear Workflow简称LWF).而在国内,这种工作流程被应用的很少,因为人们常常忽视了这个最重要的关联参数的作用[1].目前,国内大多数的渲染和后期处理工作都是基于错误的计算方式.因此,找到一种正确的计算方式来代替错误的计算方式已迫不及待.

LWF就是通过校正图像Gamma值,来得到正确显示结果的一种方法.通过LWF方法会使图像更亮,简单的说,这种方法就是一种让显示器、3Ds Max,VRay都处于同一个线性工作空间的工作流程,避免了因不同工作空间使预想的色彩、亮度发生偏差问题.

2Gamma校正

Gamma,通常被称为灰度系数,主要用于度量计算机显示器发光的线性失真程度,它是由输入信号电压及发光强度之间的关系所决定的一种对显示器发光失真的补偿校正参数[2].由于显示器存在色彩、亮度失真等问题,发光强度和输入信号电压的关系对应的二维坐标系中体现的是一条曲线,实际上正确的体现应该是一条直线.因此,校正Gamma的原因就是为了得到近似直线的结果.

计算机渲染图像时,首先发生交互和信息交换的是电脑显示器与应用程序,由于显示器本身的原因,数字化内容真实颜色没有很好地还原,那么也就无法将准确的颜色显示出来,这就意味着从一开始颜色的选择就是错误的,之后不管怎样设置都会是错误的.显示器为什么会失真,如何校正才能得到正确的结果,对CRT(阴极射线管)显示器来说,显示器的亮度变化是因为其输入电压发生变化,但是由于输入电压的变化函数和亮度的变化关系不是成正比的,因此就存在了失真.也就是说,当显示器要表现一个线性连续量的数字化图像内容时,如果显示器的电压没有稳定的表现这个连续量,就会产生失真.也可以这样理解,显示器在渲染数字化内容时,做了一个非法的校正,而这个校正的函数关系恰好是指数关系,工业上一般把这种错误校正用一个参数来衡量,那就是Gamma.

Gamma校正是一种参数值,用来表达CRT显示器的非线性特征.但事实上,即使CRT显示器是线性的,Gamma校正仍然存在,原因在于人类视觉系统对于亮度或者说对于RGB三色信号的感觉大致成指数关系,而非线性关系,Gamma校正正是为了克服这种非线性而引入的一种传输函数,在视频流、计算机图形学以及其他成像系统中应用广泛[3].一般情况,由于显示输出设备性能和视觉环境存在的差异,Gamma值一般设定在2.2~2.5之间.如果Gamma的值大于1时,图像的亮部会被压缩,暗部被扩展,此时图像偏灰,相反,Gamma值小于1时,图像亮部被扩展,暗部被压缩,此时图像很锐化.因此,处理图像亮部和暗部时需要校正Gamma.

3LWF设置

3.1 设置3Ds Max参数

开启3Ds Max软件,单击customize菜单,选择preference选项,更改参数设置见图1.

图1 设置Gamma参数

(1) 勾选Enable Gamma/LUT Conection;

(2) Gamma值设置为2.2,这里修改的并非图像的Gamma值,而是给3Ds Max一个信号,当前该显示器的Gamma值为2.2,所以3Ds Max渲染图像时需根据这个修改进行自我调整,将图像亮部扩展,使图像显示的亮一些,以此来弥补显示器自身显示过暗的缺陷,便于渲染后观察;

(3) 打开影响颜色选择器、影响材质选择器,这两点非常重要,开启“影响颜色选择器”这个选项之后,设置的颜色才会和最后渲染的颜色效果相同,否则在材质编辑器所看到的颜色和最终的颜色有所不同,如图2和图3所示;

(4) Input Gamma设置为2.2,这里指的是调整图像自身的Gamma值,如果这里不调整,那么所有的贴图都会发灰,渲染出来的图像就会整体过亮发白.

图2 调整前材质颜色

图3 调整后材质颜色

3.2 设置VRay参数

(1) 打开VRay参数面板,设置“VRay:颜色映射”Gamma值为2.2,目的是让图像暗部采样多一点,使图像更亮些.

(2) 启用内置帧缓存,因为3Ds Max的Gamma设置只对3Ds Max的渲染帧窗口起到影响,渲染时只是显示最后的图像,并没有进行渲染和计算.但我们需要在VRay的颜色映射里进行设置,所以必须要启用内置帧缓存,在渲染中进行gamma校正(见图5).

图4 设置Gamma值

图5 设置帧缓存

上述设置修改完毕后,创建一部VRay摄像机,再进行材质、灯光与渲染参数的设置(与常规设置方法相同),最后进行渲染出图.

4渲染测试

上述设置完毕后,直接渲染出图,选用办公室一角进行渲染测试(模型选自“中国室内设计联盟”),输出结果如图6所示,效果比较符合渲染的预期目标;接下来关闭首选项——Gamma和LUT,进行渲染,结果如图7所示,图像明暗关系对比不强烈,导致图象“发飘”;最后将关闭颜色贴图的子像素贴图,将伽玛值改为1.0,渲染后暗部信息全无(图8).

经过3次渲染输出结果对比,LWF渲染效果比较好,基本不用太多的后期处理.

图6 线性渲染结果        图7 关闭Gamma渲染结果        图8 非线性渲染结果

5结语

为了避免因曝光不足而导致的局部死黑,提出了线性工作流程,其原理是模拟真实眼睛看到四周的明暗效果.一般情况下,对暗部进行补光可以弥补这一点,但增加灯光的后果会导致渲染速度的极度下降.因此,研究线性工作流目的是探讨在线性工作空间进行渲染的可行性和意义.对于我们而言,Gamma概念是比较相对和抽象的.在渲染中总是有多种方法,没有一个标准化的统一.因此,很多相对的理论都需要我们仔细思考,争取找到一个统一的标准.

参考文献

[1] 芶雁.显示器Gamma参数在色彩匹配中的重要性及应用[J].成都大学学报(自然科学版),2007(4):326-328.

[2] 彭国福,林正浩.图像处理中Gamma校正的研究与实现[J].电子工程师,2006(2):30-36.

[3] MishraAK.Gamma Conection and Perceptual Coding of Video STM icnor eletrinics[J].2005(3):1-5.

Application of LWF in the Render of VRay and 3Ds Max

LI Chuang

(SchoolofArtDesign,JilinJianzhuUniversity,Changchun,China130118)

Abstract:This paper expounds the application of LWF in the render of VRay and 3Ds Max.Aimed at the problem that most current rendering results are not right,this paper discusses the reasons for the differences between rendering result color and material color,and puts forward LWF rendering method.

Keywords:LWF;VRay;Gamma

中图分类号:TP 317.4

文献标志码:A

文章编号:2095-8919(2015)02-0079-03

作者简介:李闯(1984~),男,吉林省榆树市人,助理实验师,硕士.

收稿日期:2014-09-15.