CompanyOfHeroes2渲染技术
来源:互联网 发布:下载淘宝全套免费模板 编辑:程序博客网 时间:2024/05/16 14:10
文章链接:http://url.cn/OzAQM8
主要讲即时战略游戏CompanyOfHeroes2在冬天环境下的一些渲染技术,文章结合硬件以及游戏的实际情况,在每一种方法背后,还列出思考和尝试的过程,很实战的一篇。
物件上的积雪
积雪
relic试图做geometry上的积累,但是这个要达到好的效果,就需要有一个很好的积雪边缘fading的效果,这个要做好,就需要offline工具来生成这些边缘和normal的信息。
并且需要在shader里面产生geometry,并且有很多例外,所以最后relic放弃了这个做法。
进而relic结合了company of heroes的特点,2.5d的上帝视角,所以其实做了geometry积累也没有那么大的意义,转而来让雪可以在color上fade掉就可以:
那这个就容易太多了,在vertex shader里面计算出要积雪的distance,在pixel shader里面fade out即可。
snow shadow map
让最上面的地方才有积雪,这个用一个低精度的类似shadow map即可得到occlusion信息,潮湿什么的都可以这么做。
另外这个shadow map可以进行一些扩展,记录min/max height, relic使用这个做了边缘fade out的改进,使得效果更加的自然。
地形上的雪
地形上的雪是额外的一层,不属于地形标准层的一部分。
自己可以有高度。
dx11上面使用tesselation来提升效果。
车辆在雪地上的痕迹通过一个track map来描述,dx11就是用tessellation来生成geometry,dx10(dx9已经去死了)上面只是normal变下。
冰
这里着实让我兴奋了下:
冰使用类似地形的多层材质的方法来渲染,这样冰的破损,再冻回来都可以有一个很好的表示,realtime时候的做法就和编辑地形材质一样,在material mask上面修改即可。
但是冰的破损如果只是这样,边缘就太润滑了,而且mask精度低的话,还会有明显的“格子”感,这里relic使用类似shadow中poisson filter的方法,使用一个贴图扰动uv,来达成碎冰状的感觉:
volume ambient occlusion
这里也展示了relic良好的技术结合产品的综合能力。
- 雪地场景的ao是格外的重要----场景颜色简单,偏白色(简直就是展示ao的专用场景么)
- rts游戏没有必要做到那么精细的ao
- 重用snow shadow map来产生ao,而且这个ao是volume based,而不是screen space这种在理论上还是有不少信息缺失的情况
- CompanyOfHeroes2渲染技术
- 渲染技术
- 视频渲染(显示)技术
- 多线程渲染技术
- Flash渲染技术公式
- 预渲染技术
- 《最终幻想》的渲染技术
- 延迟渲染技术
- Unity屏幕渲染技术
- DataListBox的渲染技术
- Instance渲染技术
- Unity3D选择性渲染技术
- 渲染技术的总结
- 无背景三维渲染技术
- 延迟渲染技术文献摘录
- 延迟渲染技术文献摘录
- 延迟渲染技术文献摘录
- LOD地形渲染技术概述
- Leetcode: Gas Station
- POJ 2104 K-th Number
- 在windows下双击可执行jar文件不可以执行的问题
- Android开发中Activity与Service之间getSharedPreferences不同步的解决方法
- OCP-1Z0-053-V12.02-529题
- CompanyOfHeroes2渲染技术
- 面向对象和生活的切合点。
- paip.python 调用qt ui 总结
- linux下auto工具制作Makefile源码包
- Shell 命令之 jobs
- win7系统MySQL-5.0.18安装图解
- bootchart实现分析
- 常用CSS书写技巧
- android 自定义 折线图