首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

[gpu pro]《狂野西部:生死存亡同盟》的渲染技术

2013-02-19 
[gpu pro]《狂野西部:生死同盟》的渲染技术CallOfJuarez:BoundInBlood,中文名是《狂野西部:生死同盟》,很棒的

[gpu pro]《狂野西部:生死同盟》的渲染技术

[gpu pro]《狂野西部:生死存亡同盟》的渲染技术

CallOfJuarez:BoundInBlood,中文名是《狂野西部:生死同盟》,很棒的一个渲染技术回顾。

开发商是techland,以前没太听过,查了下是建立于1991年,现在还在开发nextgen的游戏,not bad!

有自己的engine,还在不停地发展。

这篇文章非常精彩,紧凑含金量高。

deferred shading

这里techland认为deferred shading最大的好处就是可以简化render pipeline,这一点非常的赞同。

在这个基础上带来多光源的益处,更容易做的decal,ssao等等。

pipeline

开始第一步构建一个用于ambient lighting的texture,32x32,sample的时候是使用normal和sky的dot值来sample。

里面构建的东西就是各种自定义了,这个完全可以自己项目发挥。

cloud mask构建,用于render cloud投在地上的shadow。

gbuffer

[gpu pro]《狂野西部:生死存亡同盟》的渲染技术

techland在接下来的很多地方使用了quarter buffer,所以将depth buffer downsample到1/4。


ambient lighting(simple GI):

techland实现了一个很简单的gi,在1/4buffer上面render物件的简化模型(box,sphere,cone。。。),使用min/max blending。

并且在1/4buffer渲染了一个volumetric fog。

一个简单的shadowmap构建在1/4 buffer上面,放在r通道,另外两个通道是cloud shadow和ssao。

ssao就是最简单的那种,半球采24sample。

然后这个1/4buffer进一步downsample(并且带着blur)到1/16,为后面particle用。

lighting pass:

linear space lightingrgba16f on pc, 7e3 on xbox360shadow:4个cascadecascade之间有smoothssao和cloud使用bilateral upsampling apply回来rain:使用类似shadow map的方式来计算雨的遮挡tonemapping有eye adapt,->最后转回正常的color space->color grading。
其他:terrain:heightmap basedgeometry mipmappingprocedural vegetation&mesh spreadingroad system:编辑road,path,小溪geometry:portalsoccluderslod小物件的管理简而言之,对于做项目的程序员来说,这个是一个很不错的可以对照来看看自己引擎如何的文章。

热点排行