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 中的巨集。
相關主題