http://www.guerrilla-games.com/presentations/Siggraph2011_MichalValient_OcclusionInKillzone3.pdf
使用的是dice早先提的software rasterizer构建低精度depth buffer,然后根据这个来对bounding volume来做culling。
实现细节
- 使用640x360的buffer
- 数据的vectorize很重要
- 用汇编代码优化:使用汇编优化是一线工作室常用的做法
- depth buffer有压缩,最后encode到16bit
- occluder的资源,kz3使用physics mesh,当然会有问题,严重的情况在手动解决,大部分就是用physics mesh
- 按照一些标准来选取什么成为occluder,小的不行,被标记出来的不行,美术也会手动的来做occluder
- 一些主要的地方就是,occlusion系统就是程序本身是比较好的也比较快的,难点在于数据资源上的这里,自动化的系统一般是不够的,需要有content上的计划(制作和修复问题)

本博客详细介绍了Guerrilla Games在《杀戮地带3》中使用dice早先提出的软硬件混合 rasterizer 构建低精度 depth buffer 的方法,以及如何通过 bounding volume culling 来优化 occlusion 系统。重点讨论了640x360分辨率 buffer 数据的矢量化和汇编代码优化技术,深度 buffer 压缩及最终编码为16位 occluder 资源的过程。此外,还涉及了物理网格在 occluder 选择中的应用,包括手动修正和内容计划等关键环节。
1万+

被折叠的 条评论
为什么被折叠?



