1、以SV開頭的語義爲系統數值語義(system-value semantics),是在DirectX 10中引入的,這些語義在渲染流水線中有特殊的含義。
2、若使用SV_POSITION語義去修飾頂點着色器的輸出變量pos,就表示pos包含了可用於光柵化的變換後的頂點座標(即齊次剪裁空間中的座標)。
3、用這些語義描述的變量是不可以隨便賦值的,因爲流水線需要使用它們來完成特定的目的,如渲染引擎會把用SV_POSITION修飾的變量經過光柵化後顯示在屏幕上。
4、有時會出現同一個變量在不同的Shader裏面使用不同的語義修飾,如一些Shader會使用POSITION而非SV_POSITION來修飾頂點着色器的輸出。在大多數平臺上,它和POSITION語義是等價的,但在某些平臺(如索尼PS4)上必須使用SV_POSITION來修飾頂點着色器的輸出,否則無法讓Shader正常工作。同樣的例子還有COLOR和SV_Target。
5、爲了讓Shader有更好的跨平臺性,對於這些有特殊含義的變量,最好使用以SV開頭的語義進行修飾。