手机上Bloom效果trick
来源:互联网 发布:云烟淘宝客鹊桥助手 编辑:程序博客网 时间:2024/05/24 07:21
这篇不讲具体bloom本身的算法,讲的是如何获得需要bloom的亮部颜色信息。
这年头手机上很多3D arpg/mmorpg都在高级效果中加入bloom了,因为好看嘛。不过绝大部分游戏的bloom效果都是那种全屏大部分地方都泛光,造成整个画面过曝以及模糊,虽然这种效果应用在偏向卡通渲染的画面上看起来还是挺不错的,而且也符合国人喜欢的“特效就是要亮瞎人狗眼”的画风,咳咳。。。但是这种东西在相对写实的画面上面效果并不好。
造成这种结果的原因也很简单,就是没使用HDR,也就是说迫不得已必须将bloom的阈值设到低于1.0的程度,这样自然画面很多地方都会被bloom了,尤其是脸部,亮度本身就会很高,很容易被bloom了,细节全无。
解决方法:
一种方法就是让不该bloom的地方不要bloom,比如说我只需要主角的装备bloom,而脸部,头发,场景等都不需要bloom,这样的话会大幅度减少bloom的地方,画面效果好很多,具体方法可以使用stencil buffer来做,想要bloom的mesh给写一个值进去,最后bloom的时候值不对直接fail。
第二种方法效果会更好一些,但是也更费一些。毕竟上面的方法bloom的阈值还是比较低,需要美术同学做精心的调教才能达到好的效果,最好的方法还是有HDR才行。
因为手机上不好用HDR(当然,这年头高端手机开HDR已经没有问题了,比如UE4引擎已经帮忙搞定HDR的问题了,包括在一些不支持真HDR的手机上,引擎也做了另外的方案储存HDR信息),可以考虑将HDR的信息单独储存起来,方法是将计算好的color的亮度摘出来,然后取对数(用来减小范围),最后将这个亮度信息储存到alpha通道上,最后在bloom的时候,将这个亮度信息再decode出来,这样就相当于有HDR了。这种RGBE的存储方案已经运用到了多种地方,比如光照图来存HDR信息等等。
当然,这个可能需要额外的rendertarget,以及额外的pass来渲染。比如,只有主角有bloom的话,可以将主角再渲染一遍,最后存储到另外的rt上,镇魔曲手游使用的就是这个方法,也可以考虑使用multiple rt,这样只需要渲染一遍就行。
阅读全文
0 0
- 手机上Bloom效果trick
- bloom 效果
- Bloom 效果的使用
- irrlicht引擎:Bloom效果
- HDR和Bloom效果
- opengl实现Bloom效果
- trick
- Trick
- trick
- Unity Shader学习笔记:Bloom效果
- 【Unity Shader入门练习】Bloom效果
- 在Android手机上实现阅读器的翻页效果
- 在Android手机上实现阅读器的翻页效果
- 在Android手机上实现阅读器的翻页效果
- 在Android手机上实现阅读器的翻页效果
- 在Android手机上实现阅读器的翻页效果
- 在Android手机上实现阅读器的翻页效果
- 在Android手机上实现阅读器的翻页效果
- n位格雷码
- mac+mamp安装composer
- 找出当前页面执行的所有sql语句
- 基于openfire+smack开发Android即时聊天应用[一]-用户注册、登陆、修改密码、注销等
- R语言-数据分析-快速入门方便查询-excel表格形式学习笔记1
- 手机上Bloom效果trick
- Neo4j 3.2版正式发布:企业级扩展性增强、原生性能提高,还有更多特性
- jsonp跨域访问
- 中文乱码问题
- html表单和超链接的使用
- linux head
- IIC设备驱动程序(十三)————实例解析linux内核I2C体系结构(2)
- BZOJ1688 疾病管理
- 第十三周(Dungeon Game)