Je me demandais comment puis-je obtenir le modèle / marque de carte graphique à partir du code en particulier à partir de DirectX 9.0C (à partir du code C ++). P>
5 Réponses :
au moment de l'exécution, vous pouvez interroger le modèle d'appareil et le fournisseur: P>
in OpenGL, utilisez la commande Glgetstring (GL_Vendor) ou GL_Renderer ou GL_Version pour obtenir les informations que vous après. p> li>
dans DirectX 9, il apparaît que l'info est dans le système Microsoft Config, et est interrogé à partir de la base de données de périphériques. C'est la section 3 de ce document, qui a également exemple de code: http : //msdn.microsoft.com/en-us/library/bb204848 (vs.85) .aspx En utilisant le même système, vous pouvez obtenir de telles informations que la quantité de RAM La carte vidéo a, le numéro de pilote, etc. p> li> ul>
Jetez un coup d'œil à Chapitre 2. Direct3D de mon livre The Direct3D Graphics Pipeline . Voir la section 2.12, identifiant un périphérique particulier. P>
Vous pouvez utiliser API "DirecX Diagnostic Tool", comme dans l'échantillon DXDIAGOutput de DX SDK http://msdn.microsoft.com/fr -US / Bibliothèque / EE416986% 28V = VS.85% 29.aspx P>
Le moyen le plus simple dans DirectX passe par IDIRECT3D9 :: getAdapterIdentifier . p>
Il suffit de créer un d3daDapter_identifIfer9 objet, transmettez-y un pointeur pour obteniridentifier. DirectX remplit la description de la carte graphique comme une chaîne dans le champ Description. Il comprend également des informations sur le périphérique d'affichage que la carte est et quelle version du pilote que vous avez. P>
Vous obtenez quelque chose comme ceci: p>
Merci obtenu les informations dont j'avais besoin et très utile, je ne sais pas pourquoi ce n'est pas la réponse acceptée.
... parce que c'est trois ans plus tard. :)
IDirect3D9* d3dobject = Direct3DCreate9(D3D_SDK_VERSION); D3DPRESENT_PARAMETERS d3dpresent; memset(&d3dpresent, 0, sizeof(D3DPRESENT_PARAMETERS)); d3dpresent.Windowed = TRUE; d3dpresent.SwapEffect = D3DSWAPEFFECT_DISCARD; UINT adaptercount = d3dobject->GetAdapterCount(); D3DADAPTER_IDENTIFIER9* adapters = (D3DADAPTER_IDENTIFIER9*)malloc(sizeof(D3DADAPTER_IDENTIFIER9) * adaptercount); for (int i = 0; i < adaptercount; i++) { d3dobject->GetAdapterIdentifier(i, 0, &(adapters[i])); } Then get the description of adapters (adapters->Description)
Vous n'avez pas besoin de d3dpresent_paramètres ici. Il est utilisé pour la création de périphérique dans D3D9. Adaptateur Info est disponible sans elle.