2016-11-07 20 views
0

Ich habe den folgenden Code in meiner C-Datei in Visual Studio ... es ist in Ordnung kompiliert, aber es hängt den Computer in dem Anruf DLL-Funktion ...DirectX in Visual Studio

hr = D3D11CreateDevice(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, 0, 0, 0, D3D11_SDK_VERSION, &gamedevice, &featureLevel, &gamedevicecontext); 
fprintf_s(debugfile, "called CreateDevice()...\n"); 
fflush(debugfile); 
if(FAILED(hr)) 
{ 
MessageBox(0, "D3D11CreateDevice Failed.", 0, 0); 
return 0; 
} 

gibt es eine ganze Menge mehr Code nach diesem aber Debug-Datei zeigt, dass es nicht erreicht ... mache ich das richtige mit D3D11CreateDevice zuerst in meiner App oder brauche ich zuerst Enum-Code? Wie kann ich eine D3D DLL in Visual Studio debuggen?

Ich habe das Buch wurde mit ‚3D-Spiel-Programmierung mit DirectX 11‘ von Frank D. Luna

hoffe, Sie können

helfen
+0

Dies ist nicht genug Informationen, da Sie nicht enthalten, wo Sie alle diese Typen deklariert. –

Antwort

0

Frank Luna Buch ca. 3 Minuten veröffentlicht wurde, bevor das DirectX SDK abgetötet wurde , so bezieht sich eine Menge seines Buches auf Sachen, die Sie besser nicht verwenden würden, wie D3DX11. Das heißt, es gibt viele gute Ersatz. Für einige spezifische Hinweise siehe Where is the DirectX SDK (2015 Edition)?, Living without D3DX und this post.

Für eine detaillierte Anleitung zur Erstellung von Direct3D 11-Geräten lesen Sie Anatomy of Direct3D 11 Create Device.

Da Sie neu bei Direct3D 11 sind, empfehle ich einen Blick auf die DirectX Tool Kit tutorials.

0

Frank Luna verwendet in seinem Buch d3dx11 Bibliothek, die jetzt veraltet ist. Viele Funktionen wurden aus diesem lib verschoben d3d11.lib und dxgi.lib, die auch zu einem Projekt aufgenommen werden sollten, sowie dxgi.h Header:

#include <d3d11.h> 
#include <dxgi.h> 

#pragma comment(lib, "d3d11.lib") 
#pragma comment(lib, "dxgi.lib") 

P. S. Und als @Chuck Walbourn erwähnt versuchen DirectX Tool Kit

Verwandte Themen