当前位置:   article > 正文

[Unity3d]总结Gamma Space与Linear Space_fromlinearspace

fromlinearspace

摘要

看了一些gamma相关内容,记录一下目前的理解,主要是针对unity中的两种color space。

正文

在unity的这个路径下Edit->Project Settings->Player->Other Settings,可以选择linear空间或者gamma空间。这两种空间会发生什么事,见下。

当ColorSpace选择LinearSpace时

第一张图:shader中tex2D读取颜色参与计算。
LinearSpace时,除非对指定图片选择了bypass sRGB,否则所有纹理都会变成sRGB格式。
对于sRGB的纹理,GPU会自动将colorG0(偏亮)转换到linear space,即colorL0(偏暗)。也就是说,在此转换之前,存储在纹理中的颜色colorG0是在gamma space的(偏亮)。
shader中tex2D前后发生的事情

第二张图:shader计算结果到写入color buffer。
所有计算应该发生在linear space,计算结束后需GPU会将该像素颜色再次转换到gamma space,再写入color buffer。
shader计算结果到写入color buffer中间发生的事

第三张图:显示器把color buffer显示到眼睛。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT思考机器/article/detail/60363
推荐阅读
相关标签
  

闽ICP备14008679号