2014-05-02 7 views
0

J'essaie d'exécuter un exe à partir de ce site Web tutoriel Directx-11: tutorial5 (exe à la fin de la page), mais j'obtiens l'erreur "Impossible d'initialiser Direct3d"."Impossible d'initialiser Direct3d"

je reçois la même erreur quand je télécharger la solution et l'exécuter sur Visual Studio 2013 ou Visual Studio 2010.

  • J'ai installé la dernière DirectX (installée à l'aide « DirectX End-User Runtime Web Installer « : link)
  • J'ai également installé DirectX 9 SDK d'ici: DirectX 9 SDK June 2010
  • dxdiag montre Direct3d "Activé".
  • J'ai mis à jour la "bibliothèque Intel HD Graphics sur Core i5" vers le dernier pilote.

Que manque-t-il? Comment puis-je exécuter des applications Directx-11 sur ma machine?

Merci!

Répondre

0

L'erreur s'est produite ici, vous devriez vérifier le résultat de la fonction Initialize pour voir quelle est l'erreur.

// Initialize the Direct3D object. 
result = m_D3D->Initialize(screenWidth, screenHeight, VSYNC_ENABLED, hwnd, FULL_SCREEN, SCREEN_DEPTH, SCREEN_NEAR); 
if(!result) 
{ 
    MessageBox(hwnd, L"Could not initialize Direct3D.", L"Error", MB_OK); 
    return false; 
} 

Une autre astuce consiste à activer le mode DEBUG lors de la création d'un périphérique et d'une chaîne d'échange. Essayez le code suivant le mode de débogage activer lorsque l'appareil la création (en d3dclass.cpp, ajoutez le code suivant avant d'appeler D3D11CreateDeviceAndSwapChain, et ne pas oublier de mettre le troisième paramètre de cette fonction de drapeaux)

UINT flags = D3D11_CREATE_DEVICE_BGRA_SUPPORT; 

#if defined(DEBUG) || defined(_DEBUG) 
    flags |= D3D11_CREATE_DEVICE_DEBUG; 
#endif 

// Create the swap chain, Direct3D device, and Direct3D device context. 
    result = D3D11CreateDeviceAndSwapChain(NULL, D3D_DRIVER_TYPE_HARDWARE, flags, 0, &featureLevel, 1, 
     D3D11_SDK_VERSION, &swapChainDesc, &m_swapChain, &m_device, NULL, &m_deviceContext); 
    if(FAILED(result)) 
    { 
     return false; 
    } 

Construire et exécutez le programme en mode débogage et voyez la sortie dans la fenêtre de sortie de VS.

+0

Merci pour votre réponse rapide! Je vais essayer cela et voir ce que VS dit. – recursion1212

+0

Salut, j'ai essayé d'activer DEBUG, et mettre le quatrième paramètre à flags comme vous l'avez suggéré. Le résultat est renvoyé comme faux dans les deux endroits. ScreenWidth = 1280, screenHeight = 800. Voici ce que je vois dans la fenêtre de sortie (les 2 dernières lignes): 'Engine.exe': 'C: \ Windows \ SysWOW64 \ cfgmgr32.dll' 'Engine.exe' déchargé x86) \ Gestionnaire de téléchargement Internet \ idmmkb.dll ', Impossible de trouver ou d'ouvrir le fichier PDB – recursion1212

+0

Vous devez définir des indicateurs en tant que troisième paramètre. – zdd