共用方式為


D3D10_SHADER常數

HLSL 編譯選項。

#define 描述
D3D10_SHADER_AVOID_FLOW_CONTROL 告訴編譯程式不允許流程控制(可能的話)。
D3D10_SHADER_DEBUG 插入偵錯檔案/行/類型/符號資訊。
D3D10_SHADER_ENABLE_STRICTNESS 根據預設,HLSL 編譯程式會停用已取代語法的嚴格性。 指定此旗標可啟用不允許舊版語法的嚴格性。
D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY 這可讓較舊的著色器編譯為 4_0 目標。
D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT 編譯下一個最高著色器配置檔的頂點著色器。 這個選項會開啟偵錯(並關閉優化)。
D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT 編譯下一個最高著色器配置檔的圖元著色器。 這個選項會開啟偵錯(並關閉優化)。
D3D10_SHADER_IEEE_STRICTNESS 啟用 IEEE 嚴格性。
D3D10_SHADER_NO_PRESHADER 停用 Preshaders。 使用此旗標會導致編譯程式無法提取靜態表達式以供評估。
D3D10_SHADER_OPTIMIZATION_LEVEL0 最低優化層級。 可能會產生較慢的程序代碼,但會更快執行。 這在高度反覆的著色器開發週期中可能很有用。
D3D10_SHADER_OPTIMIZATION_LEVEL1 第二個最低優化層級。
D3D10_SHADER_OPTIMIZATION_LEVEL2 第二高優化層級。
D3D10_SHADER_OPTIMIZATION_LEVEL3 最高優化層級。 將產生最佳的可能程序代碼,但可能需要更長的時間才能執行。 這對於效能是最重要的因素之應用程式的最終組建很有用。
D3D10_SHADER_PACK_MATRIX_ROW_MAJOR 除非明確指定,否則矩陣會在著色器的輸入和輸出上以數據列主要順序封裝。
D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR 除非明確指定,否則矩陣會以數據行主要順序封裝在著色器的輸入和輸出上。 這通常更有效率,因為它允許使用一系列的點產品來執行向量矩陣乘法。
D3D10_SHADER_PARTIAL_PRECISION 強制使用部分精確度完成所有計算;這可能會在某些硬體上執行得更快。
D3D10_SHADER_PREFER_FLOW_CONTROL 告訴編譯程式使用流程控制(可能的話)。
D3D10_SHADER_SKIP_OPTIMIZATION 在程式代碼產生期間略過優化;通常建議只偵錯。
D3D10_SHADER_SKIP_VALIDATION 請勿根據已知功能和條件約束來驗證產生的程序代碼。 請只搭配過去成功編譯的著色器使用此選項。 著色器一律會先由 DirectX 驗證,再設定為裝置。
D3D10_SHADER_WARNINGS_ARE_ERRORS 通知 HLSL 編譯程式在編譯著色器程式代碼時將所有警告視為錯誤。 針對新的著色器程式代碼,您應該使用此選項,以便解決所有警告,並確保最少可能難以尋找的程式代碼瑕疵。

 

這些常數會定義為 d3d10shader.h 中的巨集。

著色器常數