Unity3D Linear和Gamma渲染

原创 2017年08月17日 11:31:37

笔者介绍:姜雪伟,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。二者在效果是不同的:

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


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

我的Unity(6)一点一滴 使用线性渲染出现移动路线

这里需要实现的效果,自动导航,沿着轨迹行走,后面出现移动轨迹。 需要组件,一个是NavMeshAgent,一个是LineRenderer组件,//绘制线条的核心代码: ...

线性渲染(Linear Rendering)和Gamma Correction

概述线性渲染就是渲染场景所有输入都是线性的。一般来说存在的纹理都是经过Gamma矫正了的,也就是说当纹理被采样到一个材质上时,颜色值已经不是线性的了。如果这些纹理用通常的计算方式去计算光照和图片效果,...
  • k46023
  • k46023
  • 2016年09月09日 17:30
  • 4239

Unity - 杂 - 使用Linear还是Gamma

概述线性渲染就是渲染场景所有输入都是线性的。一般来说存在的纹理都是经过Gamma矫正了的,也就是说当纹理被采样到一个材质上时,颜色值已经不是线性的了。如果这些纹理用通常的计算方式去计算光照和图片效果,...

unity默认是错误的gamma space,而不是linear space,原因是什么?

根据unity的manual In the gamma rendering pipeline all colors and textures are sampled in gamma space...

给定A, B两个整数,不使用除法和取模运算,求A/B的商和余数

给定A, B两个整数,不使用除法和取模运算,求A/B的商和余数。 1.   最基本的算法是,从小到大遍历: for (i = 2 to A -1)          if (i * B > A)...

配置SOIL库,实现纹理加载

SOIL 是一个用于向OpenGL中加载

SceneManager.LoadScene的使用方法

SceneManager.LoadScene的使用方法
  • XYK0318
  • XYK0318
  • 2016年03月17日 09:52
  • 18647

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

C语言dup和dup2函数

功能:复制文件描述符 头文件:#include 函数原型:int dup(int oldfd)           int dup2(int oldfd,int newfd) 功能详解:dup和d...

weui loading效果实现

界面 --> ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Unity3D Linear和Gamma渲染
举报原因:
原因补充:

(最多只允许输入30个字)