第二节:为什么要使用Direct3D立即模式

  对由立即模式所建立的世界的管理建立在顶点(vertices),多边形(polygons),以及对它们进行控制的命令之上。它允许直接访问各种变换(transformation),光线(lighting),以及光栅三维图形管道(rasterization 3-D graphics pipeline)。如果不能使用硬件加速渲染,Direct3D也提供了软件仿真驱动器。对于目前的3-D应用程序的开发者来说,立即模式是一个很好的选择。同时,对于某些程序开发人员来说,他们既想使程序达到最好的性能,又要保持应用程序与硬件之间有最少的层次关系,这时,最好选用立即模式而不是保留模式。

  有两种途径可以使用立即模式:第一是使用DrawPrimitive方法,第二是使用执行缓冲(execute buffers(即显示列表display lists))。大多数先前没有使用过立即模式的程序开发人员都会选用DrawPrimitive方法。而对那些已经使用过执行缓冲的开发者来说,可以继续使用它们。这两种方法之间没有速度上的区别,选用哪一种方法只要看程序的需要和你首选的程序的类型。要详细了解这两种方法,请注意后面的“DrawPrimitive方法”和“执行缓冲Execute Buffers”部分的内容。

  立即模式可以使用较低的系统开销来与3-D硬件相联系。这种较低的系统开销要有一定的代价,开发者必须提供对变换和光线的显式调用(explicit call),必须提供所有必须的矩阵,还要决定使用什么样的硬件和硬件的性能。

上一页 | 目录 | 下一页