vertex shader 3.0是什么
SM3.0是Shader Model 3.0的缩写,SM3.0技术是DirectX 9.0C级别显卡全面支持的一项特效。SM3.0在很大程度上丰富了游戏研发时的编程模型,方便游戏开发商更简单的做效果更好的游戏,确有不少优势。简单对比一下,在上一代Shader Model中,Pixel Shader程序的最大长度为96行,Vertex Shader可以支持的程序行数为256行,而Shader Model 3.0可以支持无限长的Shader程序,此外还加入很多控制对语句。SM3.0可以让游戏有更大的编程空间,以获得更优秀的效率和画质。
SM 4.0
从DirectX 8开始,Shader Model(渲染单元模式)在DirectX体系中的地位就日趋重要,其版本和渲染单元的规格也成为了决定显卡性能高低的关键因素。随着DirectX 10时代的到来,Shader Model也升级到了4.0版本。与眼下如日中天的Shader Model 3.0(以下简称SM 3.0)相比,Shader Model 4.0(以下简称SM 4.0)有哪些可喜的变化?
首先,SM4.0中的指令长度被提升到大于64K(即64×1024)的水平,这是SM 3.0规格(渲染指令长度允许大于512)的128倍。显然,SM 4.0在为渲染出电影级别的游戏画面做准备。由于渲染指令长度大幅提升,SM 4.0中相应的寄存器规格也有所增强,如Constant寄存器采用16×4096阵列、tmp寄存器则有4096个、input寄存器采用16/32规格等,上述指标都比以前的DirectX有明显的改进。其次,SM 4.0在纹理数量方面也有提高。DirectX 10允许程序员在渲染物体时使用128个纹理,而DirectX 9只提供4/16规格,更多的纹理意味着物体表面精度更接近真实,游戏开发者拥有更广泛的选择。
从上述情况不难看出,DirectX 10在性能方面的提升是巨大的,它将进一步解放CPU的资源。当然,我们也必须看到,DirectX 10对硬件(尤其是显卡)的要求也更为苛刻,GPU在设计上也将更加复杂。
意思是你的显卡不支持SM3.0无法游戏!
A卡1000系列支持SM3.0 2000系列以上支持SM3.0/4.0
N卡6000/7000系列支持SM3.0 8000系列以上支持SM3.0/4.0
怎样使显卡设置Shader Model 3.0
1、Shader Model 3.0是最新DirectX 9.0c的标准
作为Microsoft DirectX 9.0c API的重要组成部分,Shader Model 3.0由Pixel Shader 3.0和Vertex Shader 3.0两个着色语言规范组成。
2、Shader Model 3.0可以实现更多的炫目效果
通过Shader Model 3.0,游戏设计师能够比过去更加高速地实现各种复杂的超现实3D效果。
3、Shader Model 3.0可以带来更高的游戏性能
Shader Model 3.0可以用更少的绘图指令批量处理大量复杂的数据,从而大大减轻GPU及CPU的负担,让整个系统更有效率地工作,大幅度提高游戏性能和画面帧数。
4、Shader Model 3.0意味着更强的可编程能力
Pixel Shader 3.0和Vertex Shader 3.0为游戏开发者,分别提供了无限长的像素程序,以及无限长的顶点程序,将GPU的可编程能力带到了一个全新的境界,全面提升了程序开发者的开发效率,为更复杂的效果和更高的游戏性能提供可实现基础。
5、Shader Model 3.0可以给程序员更强的程序流控制能力
与Shader Model 2.0相比,支持分支跳转的Shader Model 3.0可以简单地实现过去Shader Model 2.0难以甚至无法完成的效果,赋予了程序员更强的程序流控制能力。
6、Shader Model 3.0意味着未来游戏的发展方向
随着大量支持DirectX 9.0c和Shader Model 3.0的游戏不断涌现,DirectX 9.0c API也早已成为新游戏的基本开发标准。毋庸质疑的是,未来还将会有越来越多的游戏支持Shader Model 3.0,因为它代表着未来游戏的发展方向
Shader Model版本的不断更新,在PC游戏的发展历史上起到了非常关键的作用。因此显卡的图形核心所支持的Shader Model版本高低,长期以来一直被人们当作衡量芯片价值的重要指标之一。特别是微软发布支持Shader Model 3.0标准的DirectX 9.0c之后,更是在显卡图形芯片领域掀起了新一轮的更新换代大潮。应用程序和系统硬件的应用程序编程接口(API),与过去的DirectX 9.0b和Shader Model 2.0相比较,新版DirectX 9.0c最大的改进,便是引入了对Shader Model 3.0的全面支持。举例来说,DirectX 9.0b的Shader Model 2.0所支持的Vertex Shader最大指令数仅为256个,Pixel Shader最大指令数更是只有96个。而在最新的Shader Model 3.0中,Vertex Shader和Pixel Shader的最大指令数都大幅上升至65535个,全新的动态程序流控制、位移贴图、多渲染目标(MRT)、次表面散射 Subsurface scattering、柔和阴影 Soft shadows、环境和地面阴影 Environmental and ground shadows、全局照明(Global illumination)等新技术特性,使得GeForce6及 GeForce7 GPU立刻为新一代游戏以及具备无比真实感、幻想般的复杂的数字世界和逼真的角色在影视品质的环境中活动提供强大动力。
因此DirectX 9.0c和Shader Model 3.0标准的推出,可以说是DirectX发展历程中的重要转折点。我们可以看到在DirectX 9.0c中,Shader Model 3.0除了取消指令数限制和加入位移贴图等新特性之外,更多的特性都是在解决游戏的执行效率和品质上下功夫,Shader Model 3.0诞生之后,人们对待游戏的态度也开始从过去单纯地追求速度,转变到游戏画质和运行速度两者兼顾。因此Shader Model 3.0对游戏产业的影响可谓深远
说明!!!!
Shader Model一般要将游戏画面设置为very high才可以开启
GF6和7系列ATIX1000以上系列一般都支持Shader Model3.0
为什么显卡不支持shader model 3.0
显卡不支持Shader Model 3.0的原因可能与其硬件设计和驱动支持有关。
首先,Shader Model是微软为DirectX图形API定义的一系列着色器编程模型,每个模型都有其特定的功能和性能要求。Shader Model 3.0是这一系列中的一个版本,它引入了许多新的特性和改进,如高级光照模型、更复杂的纹理操作以及更好的浮点精度支持。这意味着,要想支持Shader Model 3.0,显卡的硬件架构必须能够处理这些新增的特性和功能。
其次,显卡的硬件设计和生产能力在不断发展和改进,但并不是所有的显卡都具备支持最新着色器模型的能力。一些较旧的显卡可能只支持较早的Shader Model版本,因为它们的硬件架构和性能限制无法支持更高版本的特性。此外,显卡制造商可能也会根据市场需求和技术成本等因素来决定是否在其产品中支持最新的着色器模型。
最后,驱动支持也是影响显卡是否支持Shader Model 3.0的一个重要因素。显卡驱动程序是显卡与操作系统和应用程序之间的桥梁,它负责将图形指令从应用程序转换为显卡可以理解的格式。如果显卡驱动程序不支持Shader Model 3.0,那么即使显卡的硬件架构支持,也无法在实际使用中发挥其功能。
综上所述,显卡不支持Shader Model 3.0的原因可能与其硬件设计、生产能力以及驱动支持等多方面因素有关。在实际使用中,我们需要根据显卡的型号和规格来判断其是否支持特定的着色器模型,并选择合适的驱动程序和图形应用程序来充分利用显卡的性能和功能。