|
|
近来有朋友问起,如何有效向显卡询问3D加速能力,问题是这样的:
为了简化渲染步骤,同时能在大多的显卡上实现程序,即使目标显卡有VS,PS模块,程序也只是使用固定渲染流水线,虽然VS,PS使程序渲染更加高效和简单。也不打算设计两套渲染模式。(这里说的固定渲染流水线是硬件T&L)
这个想法其实是错误的,有Shader的显卡不一定支持固定渲染流水线的硬件加速。
有点奇怪,是吧。
Shader(vs,ps)和T&L其实是两回事,在显卡硬件里面它们是不同的硬件模块,就是说有T&L不一定有Shader(很普遍的情况,很多老显卡就不支持Shader),但是到了现在,已经有显卡是支持Shader而不支持硬件T&L。
Intel 的GMA950,GMA900就是这种特殊的例子,GMA950甚至支持Shader Mode 3.0,但是却不支持固定流水线的渲染硬件加速 (T&L)。这样设计硬件的好处当然是节省材料和设计难度。却苦了程序员。
Intel 原文对GMA950是这样描述的:High Performance 3D
Microsoft* DirectX* 9 Vertex Shader 3.0 and Transform and Lighting supported in software through highly optimized Processor Specific Geometry Pipeline (PSGP)
将来或者会出现更多这样的显卡,这个也是DirectX 10去掉固定渲染线带来的小麻烦。
现在和以后,我们为了达到最大硬件兼容性,反而要首先考虑用Shader 编写程序。
有兴趣可以看下去。
Why?
按照微软的产品开发蓝图,本来Vista应该已经进入我们的电脑了,而Intel也一早为它做了准备设计了优秀的新一代GMA集成显卡,并且是按照Vista的硬件标准,所以现在GMA950也打着完全支持Vista的旗号。结果呢,Vista严重延期,GMA也不能不卖,所以就出现了这个提早"支持“DirectX 10的缩水显卡。
同时,在苹果电脑那边GMA系列也是得到完全支持的,GMA能够对OSX的图像引擎进行加速(这个来说7800GT目前也没有这个能力哦)
可以说GMA本来是一个划时代的产品,能够同时支持两个新一代操作系统,新核心OSX和Vista。但是人算不如天算,这个本来应该有着超级市场的产品却没有打响Intel 如意算盘。
后面一段纯粹个人灌水。
历史惯例:如果要转载请注明出处 |
|