线性工作流 (LWF)

线性工作流,即 Linear Workflow,简称 LWF
如果要充分理解线性工作流程首先需要弄清几个概念
伽马矫正、sRGB、显示器部分原理、人眼感官特点、8bit 16bit 32bit位深
希望各位看官在读完本文章后能充分理解其含义,而别再讨论开不开伽马矫正了

在3ds Max中如何操作

输入部分

将线性的数据代入,还原图片想表达的数据

通常分为3类需要注意

  • 表达色彩的非32bit图片
  • 32bit图片(.hdr .exr)
  • 表达数据的图片

第一类很好理解,就是通常漫反射、反射颜色、折射颜色这类节点用到的贴图
这类图片几乎均为非线性数据存储,需要进行Degamma进行还原数据为线性数据

第二类也很好理解,32bit的图片几乎均为线性数据存储,所以不需要进行Degamma处理

第三类则让很多人头大,何为表达数据的图片,pbr贴图中的法线贴图、凹凸贴图、粗糙度贴图等均为此类
这类图片只是作为数值信息存储的载体,故而存储的线性的数据进去(即使是8bit,因为并不关心观感,这类图片每个像素的数值才是需要的数据),此时若要还原出贴图所带的具体数值则不需要进行Degamma处理

在这里有个很严重的误区,重要的并不是材质哪个节点下的贴图就该Degamma,而是这张贴图所带的信息是什么!我们要怎样还原图片想表达的信息!

Max位图伽马值设置

  • 自动(推荐):默认是2.2,即进行Degamma(原数据非线性时选择)
  • 覆盖-1.0:不进行Degamma(原数据为线性数据时选择)
  • 覆盖-2.2:进行Degamma(原数据非线性时选择)
VR位图伽马值设置

找到VR位图属性栏中的 色彩空间转换函数

  • None(无):不进行Degamma(原数据为线性数据时选择)
  • Inverse gamma(反向伽马)-1.0:不进行Degamma(原数据为线性数据时选择)
  • Inverse gamma(反向伽马)-0.454:进行Degamma(原数据为非线性数据时选择)
  • sRGB:进行Degamma(原数据为非线性数据时选择)
  • From 3ds Max:默认情况是进行Degamma(原数据为非线性数据时选择)
  • Auto(自动):根据图片名称后缀来确认(通常不用管)

综上可知 None = Inverse gamma 1.0,sRGB ≈ Inverse gamma 0.454 = From 3ds Max

预览部分

V-Ray VFB(v5.0+)

找到右侧属性栏-显示矫正

因为渲染计算的结果是线性的数据,为了抵消掉显示器带来的Degamma效果,我们需要给渲染预览图施加一条Gamma曲线
所以在这里就选sRGB或者Gamma 2.2

注意:这里的显示矫正仅起到预览作用,在保存输出时需要单独进行操作来决定保存线性数据还是非线性数据

输出部分

我们此时得到的渲染结果是32位线性数据,我们保存的时候就需要注意了

  • 自动(推荐):默认情况是施加上拱伽马曲线(即存储非线性数据)
  • 覆盖-1.0:不施加上拱伽马曲线(存储线性数据)
  • 覆盖-2.2:施加上拱伽马曲线(即存储非线性数据)

因此我们如果保存 .hdr .exr 格式图像的时候就只用写入线性数据即可,即选择覆盖-1.0
保存其它格式图像的时候只用选择 自动(推荐) 或者 覆盖-2.2 即可
如果 自动(推荐)保存出来的图片不对,去保存 覆盖-2.2 的就行了(这个是由可写变量 fileoutgamma 值为1.0 导致的,即文件输出伽马值)

1 2

评论0

请先

显示验证码
没有账号? 注册  忘记密码?

社交账号快速登录

微信扫一扫关注
扫码关注后会自动登录