暴米花 发表于 2006-12-8 09:42:00

正确认识显卡的3D加速处理能力

<strong><br/><br/></strong>近来有朋友问起,如何有效向显卡询问3D加速能力,问题是这样的:<br/>为了简化渲染步骤,同时能在大多的显卡上实现程序,即使目标显卡有VS,PS模块,程序也只是使用固定渲染流水线,虽然VS,PS使程序渲染更加高效和简单。也不打算设计两套渲染模式。(这里说的固定渲染流水线是硬件T&amp;L) <p></p><p>这个想法其实是错误的,有Shader的显卡不一定支持固定渲染流水线的硬件加速。</p><p>有点奇怪,是吧。<br/>Shader(vs,ps)和T&amp;L其实是两回事,在显卡硬件里面它们是不同的硬件模块,就是说有T&amp;L不一定有Shader(很普遍的情况,很多老显卡就不支持Shader),但是到了现在,已经有显卡是支持Shader而不支持硬件T&amp;L。<br/>Intel&nbsp;的GMA950,GMA900就是这种特殊的例子,GMA950甚至支持Shader&nbsp;Mode&nbsp;3.0,但是却不支持固定流水线的渲染硬件加速&nbsp;(T&amp;L)。这样设计硬件的好处当然是节省材料和设计难度。却苦了程序员。<br/>Intel&nbsp;原文对GMA950是这样描述的:High&nbsp;Performance&nbsp;3D&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Microsoft*&nbsp;DirectX*&nbsp;9&nbsp;Vertex&nbsp;Shader&nbsp;3.0&nbsp;and&nbsp;Transform&nbsp;and&nbsp;Lighting&nbsp;supported&nbsp;in&nbsp;software&nbsp;through&nbsp;highly&nbsp;optimized&nbsp;Processor&nbsp;Specific&nbsp;Geometry&nbsp;Pipeline&nbsp;(PSGP)<br/>将来或者会出现更多这样的显卡,这个也是DirectX&nbsp;10去掉固定渲染线带来的小麻烦。<br/>现在和以后,我们为了达到最大硬件兼容性,反而要首先考虑用Shader&nbsp;编写程序。</p>
页: [1]
查看完整版本: 正确认识显卡的3D加速处理能力