各位游戏爱好者,是不是对DirectX10充满着向往与猜测呢?那就快进来看看吧,不过有些令人失望的是,DirectX10竟然只支持Vista,你又是否为了这样而将你的系统升级呢?看来微软这一招真是苦了N多的游戏玩家了.
·专门对应Vista操作系统
在近几天举行的GDC游戏开发者大会上,微软和NVIDIA、ATi两家重要的厂商都举行了针对最新DirectX 10的讲座,配合幻灯片的讲解,在讲座上透露了很多DirectX 10、尤其是Direct3D 10的最新技术和框架.
『NVIDIA的Kevin Myers先生』
从下面的介绍我们可以看出,D3D 10将会是微软正式的下一代应用程序接口API.在驱动方面将会有新的模式,采用IHV(独立硬件供应商)内核和用户驱动两种模式.
D3D 10将必须使用Vista操作系统,不支持XP及其以前的操作系统.到2007年(微软刚刚表示家用版的Vista将不会在2006年推出),支持DirectX 10的显卡将会推出,在XP操作系统下,这些显卡仍然可以采用DirectX 9驱动,但是DirectX 9驱动必然会进行比较大的改动.但是想要达成全规格的支持,Vista就是必需的了.此外,专有的HLSL(High-Level Shader Language,高级着色语言)也将会推出.
·渲染模式公布,结构变化很大
下面是D3D 9和D3D 10的渲染管线流程图,相比老版本,D3D 10去掉了以前版本DX的设备能力检查CAPS,为DX10和Windows Vista提供的显示硬件必须满足DX10的所有硬件特性.这样对于开发者就比较可以放心的使用各种硬件特性了,很类似游戏机平台.
从架构图上我们可以清晰的了解到D3D 10在结构上的重大变化,不再针对具体的渲染状态,而是全部采用"Stage"状态对象.D3D10对渲染状态这个概念进行淡化,一方面使用全Shader化的架构使得状态的前后设置和互相影响对渲染成功率降低到最少;另外对API架构也更为简洁,面对一些关键渲染状态进行封装和分类.
Input Assembler Stage类似D3D9里的顶点声明,也就是对用户输入数据进行整合和系统化,随后进入顶点Shader.我们可以看见随后增加的"Geometry Shader",原来的VS和PS只是对逐个顶点或像素进行处理,而新的Geometry Shader可以对每个顶点或像素的临近顶点设置Shader,也就是可以对批量几何进行处理.
流输出层(Stream Output State),这个层的功能是将VS和GS处理完成的数据输出给用户,由用户进行处理后再反馈给流水线继续处理.Rasterizer Stage是光栅化对象,控制光栅器的行为,包括填充模式、剔除模式、多采样、DepthBias等.最后便是Pixel Shader和输出.
·SM4.0渲染详细解释
SM4.0、更高级的编程方法变为可能,整数的处理系统被强化,多种新的逻辑演算也等能变得进行,GPU和CPU的有效利用潜在力被扩大.
同时访问的texture数扩大为128,比SM3.0的16扩大了8倍.材质texture格式变为硬件支持的RGBE格式,其中的"E"是Exponent的省略,是RGB共同的说明,这在HDR的处理上有很大的作用,摒弃了以往需要专门decoding处理HDR渲染的流程.
shader变为共有的核心(common)。在SM3.0时代,ATi没有VTF(Vertex Texture Fetching,顶点纹理拾取)的支持,而在SM4.0中,这些区别将不复存在。