DirectX支配游戏!历代GPU架构全解析
● DirectX 8.0:引入像素和顶点两大渲染管线
面向图形计算,让GPU逐渐找到了自己的方向,那就是给予用户更真更快地视觉体验,但是GPU架构也遇到一些问题亟待解决。首要问题就是,要实现更加复杂多变的图形效果,不能仅仅依赖三角形生成和固定光影转换,虽然当时游戏画面的提高基本上都是通过大量的多边形、更复杂的贴图来实现的。
但后期的发展中,顶点和像素运算的需求量猛增。每个顶点都包含许多信息,比顶点上的纹理信息,散光和映射光源下表现的颜色,所以在生成多边形的时候带上这些附加运算,就可以带来更多的效果,但这也更加考验顶点和像素计算能力。
2001年微软发布了DirectX 8.0,一场新的显卡革命开始,它首次引入了ShaderModel的概念,ShaderModel就相当于是GPU的图形渲染指令集。其中像素渲染引擎(Pixel Shader)与顶点渲染引擎(Vertex Shader)都是ShaderModel 1.0的一部分,此后每逢DirectX有重大版本更新时,ShaderModel也会相应的升级版本,技术特性都会大大增强。
与DX7引入硬件T&L仅仅实现的固定光影转换相比,VS和PS单元的灵活性更大,它使GPU真正成为了可编程的处理器,时至今日DX11时代ShaderModel都在不停地更新,以便渲染出更逼真更完美的画面。这意味着程序员可通过它们实现3D场景构建的难度大大降低,但在当时来说可编程性还是很弱,GPU的这一特性还是太超前了。
DX8动态光影效果展示:变色龙和不同角度的人脸
DirectX 8.0当中的Pixel Shader和Vertex Shader的引入,使得GPU在硬件逻辑上真正支持像素和顶点的可编程,反映在特效上就是动态光影效果,当时波光粼粼的水面都是第一次展现在玩家面前。
但是DX8的普及之路并不顺畅,主要是因为当时的DX8显卡都定位太高,NVIDIA和ATI双方都没有推出过低端DX8显卡,热卖的产品都是DX7,直到DX9诞生之后,双方才把昔日高端的DX8显卡当作低端产品处理。