Microsoft hat mit Windows 8 die DirectX API stark umstrukturiert und viele Elemente, wie D3DX, sind outdated. Leider spuckt Google nur wenig dazu aus und viele Tutorials funktionieren unter Windows 8 nicht, zumindest nicht ohne etwas nachzuhelfen.
Möchte man den Einstieg in die DirectX -Programmierung wagen steht einem viel Arbeit und vor allem die Qual der Wahl der DirectX Version bevor. Zur Auswahl stehen DirectX 9, DirectX 10 und DirectX 11. Die 3 Versionen sind sehr unterschiedlich und bei der Entscheidung spielt nicht nur die vorhandene Entwickler-Hardware, sondern auch die vorhandenen Lernressourcen (Tutorials, Bücher, etc.), eine Rolle. Für DirectX 9 und 10 stehen aufgrund ihres alters die meisten Ressourcen zur Verfügung, implementiert man das erste Tutorial steht man auf einem Windows 8 Rechner schnell vor einem Problem:
Microsoft hat für Windows 8, den Metro Apps und den neuen Store das Windows 8 SDK herausgebracht und dort gleich DirectX integriert. Eine Installation des DirectX SDKs auf Windows 8 ist daher grundsätzlich nicht mehr notwendig. Allerdings hat Microsoft mit Windows 8 die DirectX API stark umstrukturiert. So findet sich nur die d3d?.h (? steht für die Versionen 9, 10 oder 11) im Windows SDK. Ältere Tutorials (und unter DX11 finden eigentlich keine Windows 8-bezogene Tutorials) verwenden aber auch D3DX (d3dx?.h) diese findet sich aber nicht im Windows 8 SDK.
Man hat zwei Möglichkeiten: gleich mit DirectX11 beginnen (vorausgesetzt man hat eine entsprechende Grafikkarte) und sich durch die Microsoft-Referenzen zu quälen. Wer aber auf die teils sehr guten Tutorials nicht verzichten möchte der kann folgendes tun:
1. Das DirectX SDK (June 2010) herunterladen.
2. Falls installiert, die “Microsoft Visual C++ 2010 x68(64) Redistributable”-Pakete deinstallieren, ansonsten kann das DirectX SDK nicht installiert werden.
3. Das DirectX SDK installieren.
4. Das SDK in das Visual Studio Projekt integrieren
a) Rechtsklick auf das Projekt und die Einstellungen öffnen.
b) VC++ Verzeichnisse auswählen
c) “Alle Konfigurationen” auswählen
d) Bei Includeverzeichnisse $(IncludePath);$(DXSDK_DIR)Include hinzufügen
e) Bei Bibliotheksverzeichnisse $(LibraryPath);$(DXSDK_DIR)Lib\x86 hinzufügen
f) Bei Plattform “x64” auswählen
g) Bei Bibliotheksverzeichnisse $(LibraryPath);$(DXSDK_DIR)Lib\x64 hinzufügen
Jetzt sollte die d3dx10.h wieder gefunden werden und die Tutorials sollten problemlos funktionieren.