关于LWF——线性工作流

1、什么是LWF?

LWF全称Linear Workflow,中文翻译为线性工作流。“工作流”在这里可以当作工作流程来理解。LWF就是一种通过调整图像Gamma值,来使得图像得到线性化显示的技术流程。而线性化的本意就是让图像得到正确的显示结果。设置LWF后会使图像明亮,这个明亮即是正确的显示结果,是线性化的结果。

2、为什么原来的结果不正确?为什么要用LWF?

教程开头的例子中提到,全局光渲染器在常规作图流程下得到的图像会比较暗(尤其是暗部)。而本来,这个图像是不应该这么暗的,不应该在我们作图调高灯光亮度时,亮处都几近曝光了场景的某些暗部还是亮不起来(即不应该明暗差距过大)。这个过暗问题,最主要的客观原因是因为显示器错误的显示了图像,使得本来不暗的图像,被显示器给显示暗了(也就是非线性化了)。所以我们要用LWF,通过调整Gamma,来让图像回到正确的线性化显示效果(即让它变亮),使得图像的明暗看起来更有真实感,更符合人眼视觉和现实中真正的光影感,而不是像原本那样的明暗差距过大。

3、为什么显示器会显示得过暗?什么是Gamma?为什么要设置2.2这个值?

为什么显示器显示出来的结果会过暗,这个问题涉及到电路电气知识,本人也不是太清楚。所以在这里简短引用下火星论坛凡子前辈的解释,希望可以大致明白一下:

首先,显示器的亮度变化,是因为它的输入电压发生变化。

而输入电压的变化函数,和显示器的亮度变化关系不成正比,无法合理对应。

所以导致了显示器显示失真,导致了不正确的显示结果(即暗的结果,非线性的结果)。

而Gamma就是表示这个失真程度的参数。值越大,失真越大,图像也就越暗。而1则意味着图像不失真,会正常显示。

大多数显示器的失真程度,即它的Gamma值,是2.2。所以我们在用LWF来校正图像失真时,才有了2.2这个参照数值。

4、LWF的设置流程怎么理解?

实现LWF的手段,说白了就是修改两个地方,即A+B:

A:修改max自身的Gamma

B:修改图像文件输入输出时的Gamma

这两个修改都在max“首选项”的“Gamma 和 LUT”选项卡中进行。但是要弄清楚:

A设置为2.2,并不是指修改图像文件的Gamma。而是告诉max,当前显示器的Gamma值是2.2,所以max显示图像时要按照这个前提来自我调整。当max得知显示器的Gamma是2.2时,它就让图像显示得亮些,以抵消显示器自身过暗的显示效果。A设置相当于是调整max自身全局Gamma环境的设置。

B设置为2.2,就是指调整图像文件自己的Gamma了(输入Gamma常对应于贴图文件调用,输出Gamma常对应于渲好图后保存。都是图像文件)。我们知道若仅设置了A,就相当于是max把自身Gamma环境给全局修改了,包括图像文件。而结果就是渲出来的图会整体过亮发白,显得不正常。这并不对。因为图像文件和显示器不一样,图像文件本身的Gamma就是正常的,是1,而不是显示器的非正常的2.2,因此不能当作和处理显示器的问题那样对待。所以要在输入输出的Gamma里设置2.2,让图片反过来显示得暗一些,来抵消仅设置A后导致的整体过亮。这样的话,最终图像就显得协调了。既让A设置发挥了作用,也借由B设置保证了图像文件不变亮,回复它本来应有的色彩效果。

B设置是全局设置,不能单独针对某个图像文件在输入或输出时来调整。如果个人有这个需要,可以把B设置恢复为1,然后在调用或保存图片时,单独从各自相应的对话框里设置Gamma为2.2。在调整图像输入方面时除此之外还有第3个方法,就是借助颜色校正插件。这个插件可以在鹏帆版主早先的LWF介绍贴中查询,这里就不细说了。如果使用的是max2009,max2009已经自带一种叫颜色修正的贴图类型,作用和该插件很相近,直接用它即可,就不用再单独安装插件了。至于LWF后产生的RGB值改变,或者适应改变后的效果,或者使用颜色校正插件都可以。

5、为什么还要在VRay的颜色贴图(Color mapping)卷展栏里设置2.2?它和max的Gamma设置有什么联系?

通常VRay在计算暗部角落区域的时候,因为那里出现的内容少,有效的像素少,或者说需要表现的细节少,所以VRay不会在那些地方过多的去采样和计算以节约时间。这就带来一个问题:如果仅仅通过上述max自身的Gamma设置,完成了LWF,校正了图的Gamma使之变亮,那图中那些原本偏暗的地方在被强行校正提亮后,就会因为暗部采样样本少而出现很多杂点。这就和在PS中把一个原本灰暗的图一下子调得太亮而导致暗部出现许多杂点的效果一样。要避免这个问题,来实现一个能保证质量的LWF流程,就需要在VRay的颜色贴图中,把曝光模式的Gamma设置为2.2。这样VRay就可以保证图中的暗处也有足够的采样计算了(因为VRay也知道了显示器的Gamma是2.2而自发做了调整)。它和max里上面提到A设置,意思是一样的。但因为唯一不同的是 VRay的有了暗部采样计算的过程,所以质量效果更好。

同时为了保证图的色彩还原真实度,和考虑到调节的便捷性,建议尽可能的只用线性曝光方式来渲染LWF图。

6、怎样区别对待这两处的Gamma?为什么LWF下要务必使用VRay的渲染窗口?

首先要说的是,max里的2.2,和VRay的2.2,如果两者都同时设置了的话,默认会得到一个错误的结果。因为这就相当于图在渲染出来后,Gamma被校正了两次,而变得过于白亮和不正常。而两者若只改其一,渲染后当然就可以得到对的效果,但仍然有问题:

只改max的2.2,也就是上述的A设置,会造成暗部采样不足, 导致产生很多杂点,图像质量不高;

只改VRay的2.2,max的Gamma全局环境没有得到调整,渲出来的材质效果和从材质编辑器里看到的效果不一样,给作图造成不便。(因为没有设置A,只设置了B,贴图会显非常暗。如果AB都不设置,则图像会受VRay的2.2影响而发白。)

为了能够保证质量和方便调节,我们当然是希望两者能够共存的。所以要达到合理化的LWF设置流程,最好的选择就是使用VRay的渲染窗口(也就是VR帧缓冲器/Frame buffer)。在之前的教程正文中也提到务必使用VRay的渲染窗口。因为max的全局Gamma设置正好是对这个东西不起作用的,它既可以正确支持 VRay的Gamma是2.2,又不会受到max中A设置的影响。两处地方同时设置为2.2也不会产生因二次校正后导致的图像发白的错误效果。这也就完美的解决了共存问题。但要说明的是,在VRay渲染窗口渲染完图像保存的时候,按Gamma值为1的原则保存即可。也就是说不用在max的Gamma输出设置中设置为2.2而是保持默认的1。否则还是会产生二次校正。

【转】http://blog.sina.com.cn/s/blog_7cc7a7f20100rddk.html

时间: 2024-11-01 05:21:33

关于LWF——线性工作流的相关文章

【转】关于LWF——线性工作流

1.什么是LWF? LWF全称Linear Workflow,中文翻译为线性工作流.“工作流”在这里可以当作工作流程来理解.LWF就是一种通过调整图像Gamma值,来使得图像得到线性化显示的技术流程.而线性化的本意就是让图像得到正确的显示结果.设置LWF后会使图像明亮,这个明亮即是正确的显示结果,是线性化的结果. 2.为什么原来的结果不正确?为什么要用LWF? 教程开头的例子中提到,全局光渲染器在常规作图流程下得到的图像会比较暗(尤其是暗部).而本来,这个图像是不应该这么暗的,不应该在我们作图调

Gamma校正与线性工作流

1 Gamma校正是什么?8位亮度值x(0-1)经过x^0.45的一个提亮过程. 2 为什么需要Gamma校正 人的眼睛是以非线性方式感知亮度,在自然办中,人感觉到的一半高度其实只有全部能量的0.2,那么就是说,如果没有Gamma校正,8位亮度中,只用不到2位用来保存黑到半黑的信息,而余下8位中超过6位用来保存半黑到白的信息,这样图片中暗的细节太少,为了改善这种情况,经过Gamma校正后,原来0.2的值保存为0.5. 需要注意的是:一是现代8位的图片保存下来都是已经经过Gamma校正的.二是32

Gamma矫正与Unity 线性工作流

Gamma是什么东西? Gamma 中文伽马,其实由来已久.本质上是一个色彩的变换曲线,比如输入颜色值是横坐标X,变换完的颜色就是纵坐标Y 咦 这样很奇怪,为什么颜色要经过这样的Gamma 变换呢? 正常RGB(0.5,0.5,0.5) 显示在显示上就RGB(0.5,0.5,0.5)就好了. 干嘛还要做Gamma变换,或者统一说gamma矫正? gamma矫正的由来,有好几个传送.龚敏敏 一篇<Gamma传说>文章里面说的,大概意思我也用别人的文章说明. 在很久很久以前(其实没多久),全世界都

【SIGGRAPH】用【有说服力的照片真实】技术实现最终幻想15的视觉特效

原文:西川善司 http://www.4gamer.net/games/075/G007535/20160726064/ 最终幻想15的演讲会场.相当大,听众非常多. 在本次计算机图形和交互技术大会[SIGGRAPH 2016]上,和游戏相关的CG技术解说方面上,SQUARE ENIX有很强的存在感.这个计划于2016年9月发售的[最终幻想15]的制作相关的会议,很多人都预订参加了.对于外海也有很高关注度的FFXV,有可以了解开发内幕的机会,多数的游戏开发者当然不会错过的. 这次报道的是,最终幻

合金装备V 幻痛 制作技术特辑

合金装备V:幻痛 制作特辑 资料原文出自日版CGWORLD2015年10月号 在[合金装备4(Metal Gear Solid IV)]7年后,序章作品[合金装备5 :原爆点 (Metal Gear Solid V: Ground Zeroes)]1年半后,合金装备(MGS)系列的最新作[合金装备5 幻痛(METAL GEAR SOLID V: THE PHANTOM PAIN)]发售了.游戏上做最新的挑战,一直走在这个时代的游戏图形最前端的开发团队,在本作中是以什么为目标,为了这个目标加入了何

容器技术与DevOps

容器技术的使用支撑了目前 DevOps 三大主要实践:工作流.及时反馈.持续学习. 有人说容器技术与 DevOps 二者在发展的过程中是互相促进的关系.得益于 DevOps 设计理念的流行,容器生态系统在设计上与组件选择上也有相应发展.同时,由于容器技术在生产环境中的使用,反过来也促进了 DevOps 三大主要实践:支撑 DevOps 的三个实践. 工作流 容器中的工作流 每个容器都可以看成一个独立的运行环境,对于容器内部,不需要考虑外部的宿主环境.集群环境,以及其它基础设施.在容器内部,每个功

cinder create volume的流程(1)

前提:代码的跟踪,使用的是ocata版本 零.执行cinder create 命令,创建数据卷,打开debug开关 [[email protected] ~]# cinder --debug create --display-name=chenwei 1 DEBUG:keystoneclient.session:REQ: curl -i -X GET http://11.27.241.251:5000/v2.0/ -H "Accept: application/json" -H &qu

深入理解学习Git工作流

一.译序 工作流其实不是一个初级主题,背后的本质问题其实是有效的项目流程管理和高效的开发协同约定,不仅是Git或SVN等VCS或SCM工具的使用. 这篇指南以大家在SVN中已经广为熟悉使用的集中式工作流作为起点,循序渐进地演进到其它高效的分布式工作流,还介绍了如何配合使用便利的Pull Request功能,体系地讲解了各种工作流的应用. 行文中实践原则和操作示例并重,对于Git的资深玩家可以梳理思考提升,而新接触的同学,也可以跟着step-by-step操作来操练学习并在实际工作中上手使用. 关

ccbpm工作流引擎是怎样支持多种流程模式的

前言: 在BPM领域支持流程运转的理论模型有多种.有的21种.28种.32种. 每种模式都代表了这样的模式的理论设计者研究者的人员主张.思想.这些模式尽可能的,全然去覆盖到现实生产.工作.应用上的流程流转规则. 可是不论什么领域都有自己未探索到的流程运转可能,假设说自己的理论可以涵盖全部的应用需求,那就说的有点太早. 就类似于世界上的教派或者哲学家一样.不同的教主与哲学家有不同的世界观.不同的世界认识,都对自己的"追随者"来宣扬自己的主张.观点,可是他们也能"和谐"