The Effects 11 library (FX11) was made available as shared-source in the DirectX SDK. Previous versions of the Effects library were part of D3DX (FX9) or built into the OS (FX10). With the DirectX SDK now legacy (see Where is the DirectX SDK?), there are still a number of people looking for the latest version since it is not included in the Windows 8.0 SDK. This post provides an updated version of the Effects 11 (FX11) library. The primary purpose of this release is to remove the dependencies on the legacy DirectX SDK for the D3DX11 headers, but it also includes some code tidying and a few customer requests.
There are three Visual Studio solutions provided:
If you still need Visual Studio 2008 support, you should keep using the legacy DirectX SDK (June 2010) version.
Effects 11 is primarily being provided as a porting aid for older code that make use of the Effects 10 (FX10) API or Effects 9 (FX9) API in the deprecated D3DX9 library. See MSDN for a list of differences compared to the Effects 10 (FX10) library.
Here's a handy table of equivalents related to Effects:
Effects 11 does not support 'effect pools'or D3DCOMPILE_EFFECT_CHILD_EFFECT. Effect groups provide a more efficient solution for common scenarios previously addressed with 'effect pools'
D3DDisassemble D3DDisassemble10Effect in D3DCompile
This version is marked with a preprocessor define D3DX11_EFFECTS_VERSION as “1106” to indicate a release version in the shared source library.
The initial release of Effects 11 (FX11) was in DirectX SDK (August 2009).
An update was shipped with the DirectX SDK (February 2010). This fixed a problem with the library which prevented it from working correctly on 9.x and 10.x feature levels.
The most recent previous release was in the DirectX SDK (June 2010) with some minor additional bug fixes. This also included the Effects 11-based sample DynamicShaderLinkageFX11.
Version 11.03 was the first 'blog' release (changes noted above) was released on October 24, 2012.
Version 11.04 was released on November 6, 2012.
Version 11.05 was released on February 22, 2013
Version 11.06 was released on June 13, 2013
The source code attached to this blog post is bound to the Microsoft Public License (MS-PL).