为什么不推荐使用 d3d 效果框架?

Why d3d effect framework is deprecated?

根据此文档 https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/specifying-compiler-targets,从 d3d10 开始的效果框架似乎被标记为旧版,d3d12 中的等价物是什么(如果有)?非常感谢!!!

fx_* 配置文件在 FXC 编译器中已弃用,D3DCompiler_47.dll 可用于重新分发并包含在 Windows 10 OS 中。它们仍然有效,尽管 fx_5_0 缺少对最新 Shader Model 5.0 中一些新功能的支持。

运行时组件是 Direct3D 11 的 Effects。最新版本在 GitHub,但在 "as is" 状态下提供。几年来它或多或少没有变化,所以我将回购标记为 'archive'.

Direct3D 12 没有效果 (FX) 端口,新的 Shader Model 6 DXIL 编译器不支持 fx_* 配置文件。

this blog post

至于为什么是一个更长的故事,但最终大多数引擎都有自己的materials/effects系统,所以它在DX10或DX11.

If you are looking for a basic material/effects system to learn Direct3D then take a look at DirectX Tool Kit for DX11 or DX12.