The d3dx11Effect.h header file can be found in DirectX SDK\Samples\C++\Effects11\Inc.įor our sample projects, we place the d3dx11Effect.h, D3DX11EffectsD.lib, and D3DX11Effects.libfiles in the Commondirectory that all of our projects share code from (see the “Introduction” for a description of the sample project organization). It is in the backlog, and it should be available in furutre builds/updates. From a member of VS dev Team, they understood the importance of this missing feature.
In order to use the library, you need to first build the Effects11project in both release and debug mode to generate the D3DX11Effects.lib and D3DX11EffectsD.libfiles you will only need to do this once unless the effects framework is updated (e.g., a new version of the DirectX SDK may update these files, so you may want to rebuild the. However there is a filter in commandline and TeamBuild based on TestCategory (Running selective unit tests in VS 2012 RC using TestCaseFilter) in VS2012. In this book, we will only be using the effects framework as is, without modification. Thus, you could modify the effects framework for your own needs.
In Direct3D 11, the effects framework has been moved to the D3DX library, and you have to include a separate header file (d3dx11Effect.h) and link with a separate library (D3DX11Effects.libfor release builds and D3DX11EffectsD.libfor debug builds).įurthermore, in Direct3D 11, they give you the full source code for the effects library code (DirectX SDK\Samples\C++ \Effects11). In the previous version of Direct3D, the effects framework worked out of the box once you linked with the D3D10 library. Why is that? Does it mean I'm using the older version of the libraries? This will give a ton of warnings about redefined headers in winerror.h I don't know if this is helpful but just so you know, if I add an additional library directory in the project settings of "DirectXSDKInstallPath\lib\x86\" it works. Perhaps I shouldn't mix them? However, everything else works fine when I mix them, except for the effect file creation. Informal community support for Visual Studio 2012 Update 4 is available through the Microsoft Developer Network (MSDN) forums. Can anyone tell me why is that? Note that I'm using the d3d11.lib from the Windows Kit and the d3dx11.lib from the DirectX SDK. To apply this update, you must have one of the supported Visual Studio 2012 programs that are listed in the Applies to section installed. However, when I compile my project the function D3DX11CreateEffectFromMemory returns a E_NOINTERFACE error (no such interface is supported). I had to compile the Effects11 Sample in the DirectX SDK using VS2012 and link the lib file in my project. Everything went fine until I try to use effect files in my project (.fx files).
However, I discovered that VS2012 comes with its own DirectX SDK (in Windows Kit 8.0) and I've been trying to migrate my code using the newer versions of d3d11. I was programming previously with DirectX 11 June 2010 SDK and want to continue to do so using Visual Studio 2012. I recently updated to Visual Studio 2012 Ultimate.