一般顯示卡支援的語法規則如下:
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顯示卡。你可以在找到更多有關nvparse的資訊。
fp30
另一種 nvidia特有的opengl片斷渲染語法。它是ps 2.0的乙個超集,被nvidia geforce fx 5系列或更高階的顯示卡支援。
fp40
另一種 nvidia特有的opengl片斷渲染語法。它是ps 3.0的乙個超集,被nvidia geforce fx 6系列或更高階的顯示卡支援。
Shader資料型別和精度
高精度 float 高精度浮點值 一般是32位 就像是普通程式語言中的浮點數 完全浮點精度通常用於世界空間位置,文理座標或者涉及複雜函式 如三角學或冪 指數 的標量計算 中精度 half 中精度浮點值 一般為16位 範圍為 60000到 60000,精度為3位小數 half精度是有用的對於短向量,方...
MFC對可Serialize型別的版本控制
使用mfc提供的serialize功能對型別進行序列化 反序列化非常的方便。當軟體公升級後,serialize的內容可能也會發生變化,這時,就可以使用mfc提供的版本控制功能解決反序列化因為內容不同引起的衝突了。編寫可序列化類時,mfc用implement serial巨集指定的模式號作為版本控制的...
Android版本和API Level的對應關係
在開發android時,老是不知道android版本號和對應api level,這個問題真是麻煩,我們在發布聲波傳輸sdk時也遇到這樣的問題,版本號是對外發布的版本號,一般都是主版本號.子版本號.修正版本號的命名規則,說白了這是給人看的 而api level是程式中的乙個巨集引數,是為了版本相容的,...