FarCry开发者访谈 技术分析及新版前
FarCry这款游戏不仅本身可玩性很强,更由于其基础CryENGINE引擎支持的新特性众多,对硬件要求超高,所以成为了显卡乃至处理器产品角逐的战场。近期FarCry 1.2补丁的发布,加入了对Shader Model 3.0的支持,因为该特性目前只有GeForce 6800系列显卡支持,所以让这款游戏更加备受瞩目。
日前FiringSquad网站有幸对CryTek(FarCry开发公司)CEO兼主席Cevat Yerli进行了一次访问。下面的谈话中涉及到了CryTek未来的发展计划,以及未来FarCry对HDR(high dynamic range)、AMD64以及ATI 3Dc等技术的支持,推荐大家看一看。
FiringSquad:在FarCry 1.2中主要采用了Shader Model 3.0技术哪些方面的优势。
Cevat Yerli:我们主要使用了SM3.0中的循环和分支,当然同时使用了浮点FP16和FP32。我们主要是保证让更多的光照能够通过流控制和分支来完成,这样我们可以在一个通道中完成4条光照的编码,显然在渲染的速度方面将有所提升。我们利用SM3.0本质体现的是性能上的增进。举例说,在之前的SM2.0下,一个通道只能渲染一条光照,而现在则可以渲染4条。
另外一方面,我们使用了几何场景(geometry instancing)技术,这将可以让性能有巨大提升,尤其是一些户外场景。在户外场景中当描述如树、草和其他植物体时,我们在不同的位置和方位使用了相同或相似的网孔,这些可以在顶点着色单元中的一个draw call内渲染,从而大幅度降低draw call。
FiringSquad:对于光照,你们是使用动态还是静态分支技术呢?
Cevat Yerli:我们使用的是静态分支,因为动态分支会造成性能上的一些问题。先前我曾经说过,SM3.0是十分强大的,但你必须灵活的去应用。有些时候使用静态分支反而能够取得更好的效果。
FiringSquad:何时SM3.0才能真正与FarCry相结合呢?
Cevat Yerli:第一个版本将在两周内完成并可以运行,但总体上我们还需要大约4个星期时间。
FiringSquad:请问FarCry 1.2中使用的Shader 2.0指令条数是多少?Shader 3.0又会是多少?你认为何时该游戏将达到Shader 3.0的最大支持指令数。(注:Shader3.0应该不再限制指令条数)
Cevat Yerli:目前距离Shader3.0还很遥远,但是我们已经达到了Shader2.0所支持的最大指令数,也就是96条。
FiringSquad:真的吗?你们已经达到了Shader2.0支持限制的96条指令?
Cevat Yerli:是的,同时我们不会使用更多,因为我们并不需要。目前的Shader 2.0已经可以达到你想要的画质效果。而Shader 3.0的作用将主要体现在性能提升方面,而不是画质提升。<