内容导航
CineFX 3.0 引擎
假如我们能够像看电影一样玩游戏,那该是多么惬意的事情呀,nVIDIA 也一直在跟我们宣扬这样的思想,但我们想想就好了,因为这根本没法在短时间内实现。我觉得John Carmack 的说法会更加理智些,“现在达到这个目标的症结不仅在硬件,游戏本身的设计也变得更加困难,我们甚至要花费4、5年的时间,才能够更新游戏引擎了。另外,电影和游戏是两个完全不同层次的概念,要知道电影里面的特效是设计师们一帧帧地进行渲染的,而游戏则是大量即时生成的效果,其数据的处理量根本没法比较”。不过当然,nVIDIA 的超前意识还是让我们非常开心的,而CineFX 引擎确实在往这方向努力 着。
CineFX3.0的技术要点
1. 无限长的渲染程序
CineFX 3.0 在渲染程序上再没有硬件的限制。先前,为了适应程序长度的限制,复杂的效果需要分成一系列渲染程序的组合。在某些情况下,由于程序的长度过长,硬件没法渲染,造成性能下降,减慢了游戏的运行速度,还有使得实际效果不尽人意。现在,由于不需要再考虑渲染程度的长度,因此能够写出更复杂的特效,游戏也变得更精美了。不过,在程序代码变长之后,需要花费硬件更多的时间去处理它,不过随着硬件性能的提高,这个问题很快就能够得到解决,而CineFX 3.0 也对长程序作出了优化,确保能够以最快的速度运行。
2、动态流控制
为了让程序员更有效率的撰写渲染程序,NV40增加了一些循环/分支选择 ,子程序调用/返回函数。没有长度限制,增强了流控制,让程序员获得更多的自由,随意发挥,从而有可能写出更具创意的游戏。增加的流控制包括以下的功能:
· 新指令(IFC/BREAKC,IF/BREAK/CALLNZ)
· 用于返回地址和地址寄存器的统一8段堆栈:分支、调用;Push、Pop地址寄存器
· 条件代码选择