http://go.microsoft.com/fwlink/?LinkId=271568
Effects for Direct3D 11 (FX11) is a management runtime for authoring HLSL shaders, render state, and runtime variables together in C++.
See this blog post for an overview.
Effects 11 library
This project is 'archived'. It is still available for use for legacy projects or when using older developer education materials, but use of it for new projects is not recommended.
Disclaimer
Effects 11 is being provided as a porting aid for older code that makes use of the Effects 10 (FX10) API or Effects 9 (FX9) API in the deprecated D3DX9 library. See Microsoft Docs for a list of differences compared to the Effects 10 (FX10) library.
-
The Effects 11 library is for use in Win32 desktop applications. FX11 requires the D3DCompiler API be available at runtime to provide shader reflection functionality, and this API is not deployable for Windows Store apps on Windows 8.0, Windows RT, or Windows phone 8.0.
-
The
fx_5_0
profile support in the HLSL compiler is deprecated, and does not fully support DirectX 11.1 HLSL features such as minimum precision types. It is supported in the Windows 8.x/Windows 10 SDK version of the HLSL compiler (FXC.EXE
) and D3DCompile API (#46). It generates a deprecation warning with D3DCompile API (#47). It is not supported by the Shader Model 6 (DXC.EXE
) or later DXIL compiler.
NuGet
FX11 is also available on NuGet
vcpkg C++ Package Manager
Effects for Direct3D 11 has a vcpkg installation port as well.
Porting from D3DX
See this post for a complete listing of D3DX equivalents.
Support
For questions, consider using Stack Overflow with the d3dx tag.
Contributing
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
Trademarks
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.
Credits
The Effects library for Direct3D 9 (FX9) was the work of Loren McQuade with contributions from Relja Markovic.
The Effects library for Direct3D 10 (FX10) was the work of John Rapp and Kutta Srinivasan as a rewrite of the FX9 library with contributions from Anuj Gosalia, Kev Gee, Sam Glassenberg, Relja Markovic, and Ian McIntyre.
The Effects library for Direct3D 11 (FX11) is the work of Ian McIntyre based on FX10 with contributions from Michael Oneppo and Chuck Walbourn.
For Use
- Windows desktop apps
- Windows 11
- Windows 10
- Windows 8.1
- Windows 7 Service Pack 1
For Development
- Visual Studio 2022
- Visual Studio 2019
- clang/LLVM v12 - v15
- CMake 3.20
Related Projects
All content and source code for this package are subject to the terms of the MIT License.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.