我讀過VS2015上的DirectX 11教程(http://www.rastertek.com/dx11s2tut04.html),發現作者分別使用.vs文件和.ps文件分別編譯頂點和像素着色器。我應該在HLSL中使用哪種着色器文件格式?
我還發現,在「使用DirectX 11的3D遊戲編程」一書中,作者使用.fx文件來整理本書中的着色器。
我應該用哪種方法用最新版本的Windows SDK開發我的direct3D程序,我想知道?因爲我聽說Effects11框架將來可能會被棄用。
我讀過VS2015上的DirectX 11教程(http://www.rastertek.com/dx11s2tut04.html),發現作者分別使用.vs文件和.ps文件分別編譯頂點和像素着色器。我應該在HLSL中使用哪種着色器文件格式?
我還發現,在「使用DirectX 11的3D遊戲編程」一書中,作者使用.fx文件來整理本書中的着色器。
我應該用哪種方法用最新版本的Windows SDK開發我的direct3D程序,我想知道?因爲我聽說Effects11框架將來可能會被棄用。
您應該避免在新項目中使用fx
目標,並選擇每階段編譯。請注意,這與您是否將着色器代碼實際放置在單獨的文件中無關,儘管每個着色器有一個.vs
或.ps
是常見慣例。在最新的(Windows 10)編譯器中已經棄用了對效果配置文件的完全D3D11支持(即fx_5_0
),並且根本沒有fx_5_1
(某些directx-12功能需要着色器模型5.1)。
請參閱[此主題](https://fx11.codeplex.com/discussions/450240)關於效果11'狀態'的討論 –