Unity3D Linear和Gamma渲染

笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,已出版书籍:《手把手教你架构3D游戏引擎》电子工业出版社和《Unity3D实战核心技术详解》电子工业出版社,《Cocos2d-x 3.x图形学渲染技术讲解》电子工业出版社等。

CSDN视频网址:http://edu.csdn.net/lecturer/144

最近项目开发中在渲染3D模型时,遇到了Linear和Gamma两种不同的设置出现不同的效果问题,查阅了一下Unity官方blog,看到目前在Unity5.5新增加了linear Rendering 同时支持Android和IOS,但是它使用的OpenGLES3.0,而现在大部分Android手机只支持OpenGLES2.0。所以只能选择Gamma。二者在效果是不同的:

Unity3D Linear和Gamma渲染_第1张图片

通过上图可以看出,由于线性和伽玛渲染之间的主要差异,这意味着使用线性渲染的游戏不能在仅支持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中的设置如下所示:

Unity3D Linear和Gamma渲染_第2张图片

线性渲染代码下载地址:here


你可能感兴趣的:(3D引擎)