Unity3d基础知识-伽马空间和线性空间区别

Unity3d基础知识-伽马空间线性空间区别
1、伽马空间(⾮线性空间)-Gamma
⼀个是屏幕和强度的对应关系是⾮线性,⼀个是相当于浅⾊变⾊,⼈眼更容易区分暗⾊的渐变⾊的不同,例如当图像压缩以节省空间的时候,我们牺牲⼀下浅⾊强度的精度,以让暗⾊的强度可以获得更⾼的精度,这个可以通过伽马校正解决;每⼀个像素的强度都是通过⼀个幂函数存储到图像中,伽马就是应⽤到图像上幂的名字。简易车棚
⼤部分图像都是以伽马0.45存储,如左图所显⽰。图像的暗⾊区域使⽤更⼤范围的数值存储,⽽浅⾊的范围是被压缩的,被压缩的空间图像就
是“伽马空间”。微型电风扇
伽马空间流程:
在这个颜⾊空间内渲染,GPU不会再Gamma校正,⽽是直接使⽤存储的值参与渲染计算,因为⼤家使⽤的都是阉割版的颜⾊嘛。
但是在这个空间⾥进⾏的渲染,因为使⽤的是阉割过的Gamma颜⾊空间,因此你会得到不符合真实表现的效果。
在最终输出到显⽰器的时候,仍然会经过Gamma校正,将渲染后的0.5,表现成0.2给你看。uasa
因为使⽤了较少的颜⾊(相对于线性颜⾊空间),因此会得到⽐较好的渲染效率以及较低的渲染能⼒需求。但是图像会存在失真(偏暗,因为亮部
细节表现不够)等⼀系列问题。
2、线性空间-Linear
是数值强度值,与感知强度是成正⽐例对应的。
线性空间流程:
在Unity中,如果使⽤Linear颜⾊空间,除⾮对指定图⽚选择了ByPass sRGB(忽略sRGB,你理解为忽略Gamma校正),否则所有的图⽚都会默认变成sRGB格式。
这样做的⽬的是把你在Gamma颜⾊空间⾥创作的图⽚⾥⾯的颜⾊给校正到正确的32位颜⾊,再参与GPU渲染计算。
ByPass sRGB的意思就是直接使⽤这个0.5,不⽤再校正了,除⾮你是在线性颜⾊空间⾥创作的图⽚,否则不建议这么⼲。
艾灸净化器然后,GPU再把结果Gamma校正⼀次,0.2-0.5,这样做的⽬的是:显⽰器不管你到底⼲了什么,他⽼⼈家是⼀定要在最后Gamma校正⼀次的(0.5-0.2)。
显⽰器按照接受到的值进⾏Gamma校正(0.5校正到0.2)给你看。
虚拟课堂
在这个空间⾥进⾏渲染,因为使⽤的是线性的颜⾊空间,因此你会得到⾮常真实的表现效果。
但是,因为⾊彩丰富的同时,带来的各项成本,如硬件渲染能⼒的需求也会增加。
3、颜⾊空间和渲染管线
Unity 默认使⽤伽马空间,仅在PC,Xbox,和游戏平台⽀持线性渲染。最近项⽬开发中在渲染3D模型时,遇到了Linear和Gamma两种不同的设置出现不同的效果问题,查阅了⼀下Unity官⽅blog,看到⽬前在Unity5.5新增加了linear Rendering 同时⽀持Android和IOS,但是它使⽤
的OpenGLES3.0,⽽现在⼤部分Android⼿机只⽀持OpenGLES2.0。所以只能选择Gamma。⼆者在效果是不同的:
>立式导热油加热器

本文发布于:2024-09-22 23:15:28,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/111892.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:Envi
标签:空间   渲染   线性   图像   强度   校正   效果
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议