Welcome to the first Development INF (stands for information)! Basically for each Development INF article, I will be listing the road blocks, gotchas, tips and tricks that I found during development; in this case DirectX11.

1. DirectX11 is part of WindowsSDK

For old time DirectX developers, we usually had to install DirectX SDK. However, starting Windows 8, Microsoft has included the SDK to Windows 8 SDK. Consequently, this creates compile issues as some projects are still referencing the old DirectX path.

In Visual Studio, we usually use $(DXSDK_DIR)\Include and $(DXSDK_DIR)\Lib to locate the headers and lib, however, this will be no longer the case. The headers should be in $(WindowsSDK_IncludePath) and lib in $(WindowsSdkDir)\lib\x64.

2. D3DX11 library is deprecated

D3DX11 Library is Deprecated, we should no longer include d3dx11.h header and no longer use D3DX11* functions. We need to find the replacement for each function.

3. DirectXMath replaces XNAMath

//#include <xnamath.h> - deprecated
#include <DirectXMath.h>
using namespace DirectX; // The math structs and funcs are in this namespace

4. Effects API is no longer part of DirectX
You can download and compile it yourself from http://fx11.codeplex.com/. It's a good idea to build and put the library in your library folder.