Unity3D Linear和Gamma渲染
发表于2017-09-20
一些项目开发中在渲染3D模型时,有可能会遇到Linear和Gamma两种不同的设置出现不同的效果问题,查阅了一下Unity官方blog,看到目前在Unity5.5新增加了linear Rendering 同时支持Android和IOS,但是它使用的OpenGLES3.0,而现在大部分Android手机只支持OpenGLES2.0。所以只能选择Gamma。二者在效果是不同的:
通过上图可以看出,由于线性和伽玛渲染之间的主要差异,这意味着使用线性渲染的游戏不能在仅支持OpenGL ES 2.0的Android和iOS设备上运行。
由此我们可以得出结论:使用Unity 5.5,Android和iOS上现在可以使用线性渲染。 在Android上,线性渲染需要OpenGL ES 3图形API,占61.1%的Android设备。 在iOS上,线性渲染需要Metal图形API,占71.1%的iOS设备。
此外,Unity 5.3在Windows编辑器中引入了对OpenGL ES图形API的支持,在Windows上使用OpenGL ES进行线性渲染。 GeForce 376.09驱动
程序已经可以使用此功能。
目前,WebGL 2.0不支持Unity中的线性渲染,后面Unity肯定会加上。另外,线性渲染和Gamma渲染在Unity中的设置如下所示:
线性渲染代码下载地址:here