我读过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'状态'的讨论 –