一般显卡支持的语法规则如下:
vs_1_1
这是一种
DirectX顶点渲染器汇编语法。
支持显卡有:
ATI Radeon 8500,nVidia GeForce 3。
vs_2_0
另一种
DirectX顶点渲染器汇编语法。
支持显卡有:
ATI Radeon 9600,nVidia GeForce FX 5系列。
vs_2_x
另一种
DirectX顶点渲染器汇编语法。
支持显卡有:
ATI Radeon X系列,nVidia GeForce FX 6系列。
vs_3_0
另一种
DirectX顶点渲染器汇编语法。
支持显卡有:
nVidia GeForce FX 6系列。
arbvp1
这是
OpenGL标准顶点程序汇编格式。大体上相当于DirectX vs_1_1。
vp20
这是一种
nVidia特有的OpenGL顶点渲染器语法,是vs 1.1的一个超集。
vp30
另一种
nVidia特有的OpenGL顶点渲染器语法。它是vs 2.0的一个超集,被nVidia GeForce FX 5系及以上系列支持。
vp40
另一种
nVidia特有的OpenGL顶点渲染器语法。它是vs 3.0的一个超集,被nVidia GeForce FX 6系及以上系列支持。
ps_1_1, ps_1_2, ps_1_3
DirectX像素渲染器(例如片断程序)汇编语法。
支持显卡:
ATI Radeon 8500,nVidia GeForce 3。
注解:对于
ATI 8500,9000,9100,9200硬件,也可用于OpenGL。ATI 8500到9200不支持arbfp1但是确实支持OpenGL的atifs扩展,非常类似DirectX的ps_1_4。OGRE有针对atifs编译器的ps_1_x模块,当在ATI硬件上使用ps_1_x时,它会自动执行。
ps_1_4
DirectX像素渲染器(片断程序)汇编语法。
支持显卡有:
ATI Radeon 8500,nVidia GeForce FX 5系列。
注解:对于
ATI 8500,9000,9100,9200硬件,此项也可用于OpenGL。ATI 8500到9200不支持arbfp1但是支持OpenGL的atifs扩展,功能上非常类似于DirectX中的ps_1_4。OGRE有针对 atifs编译器的ps_1_x模块,当在ATI硬件上使用ps_1_x时,它会自动执行。
ps_2_0
DirectX像素渲染器(片断程序)汇编语法。
支持显卡有:
ATI Radeon 9600,nVidia GeForce FX 5系列。
ps_2_x
DirectX像素渲染器(片断程序)汇编语法。基本上是带有更多指令的
ps_2_0。
支持显卡有:
ATI Radeon X系列,nVidia GeForce FX 6系列。
ps_3_0
DirectX像素渲染器(片断程序)汇编语法。
支持显卡有:
nVidia GeForce FX 6系列。
ps_3_x
DirectX像素渲染器(片断程序)汇编语法。
支持显卡有:
nVidia GeForce FX 7系列。
arbfp1
这是
OpenGL标准片断程序汇编格式。大体上相当于ps_2_0,意味着不是所有支持DirectX下的基本像素渲染器都支持arbfp1(例如GeForce3和GeForce4就都不支持arbfp1,但是它们都支持ps_1_1)。
fp20
这是一个
nVidia特有的OpenGL片断程序语法,是ps 1.3的一个超集。它允许你为基本片断程序使用'nvparse'格式。实际上,它使用NV_texture_shader和 NV_register_combiners在GL下提供相当于DirectX's ps_1_1的功能,但是仅限于nVidia显卡。然而,因为ATI显卡比nVidia早一步采用arbfp1,所以它主要用于像GeForce3和 GeForce4系列的nVidia显卡。你可以在http://developer.nvidia.com/object/nvparse.html找到更多有关nvparse的信息。
fp30
另一种
nVidia特有的OpenGL片断渲染语法。它是ps 2.0的一个超集,被nVidia GeForce FX 5系列或更高级的显卡支持。
fp40
另一种
nVidia特有的OpenGL片断渲染语法。它是ps 3.0的一个超集,被nVidia GeForce FX 6系列或更高级的显卡支持。