在最近的研究工作中,进一步对移动端PBRLighting进行了优化,以下是一些优化截图,由于后续整理文章使用:

  PBRLighting(未开启伽马矫正):

  MobilePBRLighting(高质量版本,未开启伽马矫正):

    MobilePBRLighting开启伽马矫正:

  可以看到,MobilePBRLighting在大部分渲染上表现得跟标准PBRLighting非常接近,但是这是一种快速方案,意味着有一些需要我们调整的参数,对于这个场景,使用PATTENR5模式,并使用关闭SpecularModel1或SpecularModel2。

  

  对于其他情况,如下图:

  

  左边是MobilePBRLighting,右边是PBRLighiting。从上往下,第一个和最后一个使用PATTERN1模式,并且使用SPECULARMODE1模式,表现和PBRLighting很接近。第二个和第三个需要环境反射,所以使用PATTERN5,并且使用SPECULARMODE1模式,同时设置RoughnessLod为8和16,表现非常接近PBRLighting。红色的球,使用PATTERN5模式,开启SPECULARMODE1模式,跟标准PBRLigiting表现差距比较大,我们关闭SPECULARMODE1,选择开启SPECULARMODE2模式或使用默认Specular模式,如下:

  使用PATTERN5+SPECULARMODE2模式。

  对于PATTERN1和PATTERN5的区别,PATTERN1性能最好,但是适合那些类似上面第一个和最后一个不需要镜面反射的粗糙物体。对于PATTERN5,根据金属度,RoughnessLod和SpecularMode来调整效果,其中默认的SpecularMode模式最快(即同时不勾选SpecularMode1和SpecularMode2)。

  对于某些情况下,开启SpecularMode1或SpecularMode2才是正确的接近PBRLighting的效果,至于为何有这种区别,原因在于使用了近似BRDF和IBL算法。不能顾全所有情况,所以需要根据不同情况调整参数。但需要调整的也仅仅只是这几个开关参数。不需要动材质的其他参数。

  还有一个低质量模式,勾选LowQuality即可,如下:

  如果你追求性能的话,可以开启这个模式。

MobilePBRLighting优化思路2的更多相关文章

  1. mysql优化思路

    /* mysql优化思路     1.数据库设计     2.sql语句优化     3.数据库参数设置     4.恰当的硬件资源和操作系统        数据库设计         数据的3NF( ...

  2. redis在实践中的一些常见问题以及优化思路

    1.fork耗时导致高并发请求延时 RDB和AOF的时候,其实会有生成RDB快照,AOF rewrite,耗费磁盘IO的过程,主进程fork子进程 fork的时候,子进程是需要拷贝父进程的空间内存页表 ...

  3. 谈一款MOBA类游戏《码神联盟》的服务端架构设计与实现(更新优化思路)

    注:本文仅用于在博客园学习分享,还在随着项目不断更新和完善中,多有不足,暂谢绝各平台或个人的转载和推广,感谢支持. 一.前言 <码神联盟>是一款为技术人做的开源情怀游戏,每一种编程语言都是 ...

  4. Spring配置表友好性优化思路

    Spring配置表需要尽量保证对程序员的友好性,一下提供一种优化思路. 中途未保存,心态炸了,只贴图了,fuuuuuuuuuuuuuck 第一种(最烂,最不友好):以Json的格式保存在配置表中,程序 ...

  5. PHP优化思路

    想起来记录一下自己对PHP的优化思路 针对Nginx和 PHP-FPM进行优化 首先应该分为代码层面.配置层面.架构层面 代码层面 参见了https://segmentfault.com/a/1190 ...

  6. 转:使用RNN解决NLP中序列标注问题的通用优化思路

    http://blog.csdn.net/malefactor/article/details/50725480 /* 版权声明:可以任意转载,转载时请标明文章原始出处和作者信息 .*/ author ...

  7. 【58沈剑架构系列】mysql并行复制优化思路

    一.缘起 mysql主从复制,读写分离是互联网用的非常多的mysql架构,主从复制最令人诟病的地方就是,在数据量较大并发量较大的场景下,主从延时会比较严重. 为什么mysql主从延时这么大? 回答:从 ...

  8. MySQL order by的一个优化思路

    最近遇到一条SQL线上执行超过5s,这显然无法忍受了,必须要优化了. 首先看眼库表结构和SQL语句. CREATE TABLE `xxxxx` ( `id` ) NOT NULL AUTO_INCRE ...

  9. spark(二)优化思路

    优化思路 内存优化 内存优化大概分为三个方向 1.所有对象的总内存(包括数据和java对象) 2.访问这些对象的开销 3.垃圾回收的开销 其中Java的原生对象往往都能被很快的访问,但是会多占据2-5 ...

  10. Nginx优化思路

    对于高性能网站 ,请求量大,如何支撑? 1方面,要减少请求 对于开发人员----合并css, 背景图片, 减少mysql查询等. 2: 对于运维 nginx的expires ,利用浏览器缓存等,减少查 ...

随机推荐

  1. 關於ctype.h頭文件的一些函數

  2. 解决win7嵌入式系统无法DoublePulsar问题

    0x01 前言 渗透过程中总是会遇到千奇百怪的问题,比如前段时间内网横向时用MS17010打台win7,EternalBlue已经提示win了,可是DoublePulsar就是死活一直报错,最后我查阅 ...

  3. 反射_Class对象功能_获取Constructor-反射_Class对象功能_获取Method

    反射_Class对象功能_获取Constructor Constructor<?>[] getConstructors() Constructor<T> getConstruc ...

  4. Sundial(一)

    Sundial 源码梳理 - v2.5.6 代码目录一览 通过入口点说明 实现IServiceCollection,并返回IServiceCollection(Extensions/ScheduleS ...

  5. html 引入 js 代码的几种方式

    一.普通加载 <script src="./abc.js"></script> 二.内嵌 <script> JavaScript 代码 < ...

  6. Vue22 VueCli 脚手架

    1 简介 CLI 是 Command-Line Interface, 翻译为命令行界面, 但是俗称脚手架 Vue CLI是一个官方发布 vue.js 项目脚手架 使用 vue-cli 可以快速搭建 V ...

  7. linux08-进程管理

    1.任务调度 2.进程 3.服务 4.进程.网络监控 1.任务调度crond 1.1基本说明 任务调度:是指系统在某个时间执行的特定的命令或程序. 任务调度分类: 1.系统工作:有些重要的工作必须周而 ...

  8. Zookeeper+SpringCloud微服务(入门二)

    1.Zookeeper注册中心 1.服务提供者Provider 新建cloud-provider-zk-payment-8004 pom.xml: <dependencies> <d ...

  9. C语言使用fopen出现C4996错误解决方法

    Visual Studio 不安全提醒屏蔽方法: 打开项目----项目属性---配置属性----C/C++ ----预处理器----预处理定义,添加 _CRT_SECURE_NO_DEPRECATE ...

  10. 益赛普等TNFi持续治疗强直性脊柱炎的长期疗效观察(≥3年)

    北大深圳医院风湿免疫科在2021年发表了益赛普等TNFi持续治疗强直性脊柱炎的长期(≥3年)疗效观察[1]. 入排条件严苛,坚持随访不容易 观察对象是2009-2019年间就诊于该科室的AS患者,需有 ...