Introduction 3D game programming Directx 11 - Einfühungsbeispiel
-
Hey leutz,
nach langem hin und her und vielem herum probieren, habe ich mich für das Buch "Introduction 3D game programming Directx 11" von Frank D.Luna entschieden.
Da ich nun Allgemein viele Probleme hatte mit Visual Express 2012, bin ich wieder zur 2010 Version gewechselt.
Auf jeden Fall habe ich dann alles gelinkt. Am Anfang des Buches soll man ein Sample kompilieren, die "Box.cpp". Nun mache ich eigentlich alles so wie es im Buch steht und versuche es zu kompilieren. Beim ersten Mal kamen einige Meldungen, dass die PDB File nicht geöffnet werden konnte. Dies habe ich über die Aktivierung des Microsoft Servers "gelöst", wobei ein bis zwei nicht runtergeladen werden konnten (z.B. BitGuard.dll). Glaube aber nicht das mein Problem daran liegt.Jetzt zum eigentlichen Problem:
Wenn ich nun das Programm kompilieren möchte, dann sieht man ein weißes Fenster (es sollte ein Würfel zu sehen sein) und eine Meldung erscheint "D3D11CreateDevice failed". Weiß leider jetzt nicht mehr weiter.Arbeite wie schon gesagt mit Visual Express 2010. Windows 7 und Directx 11 ist installiert.
Hoffe einer kann mir helfen.
Vielen Dank!Aknayirp
-
Sicher dass die neuste Runtime installiert ist ?
Schau mal welchen Fehelrcode D3D11CreateDevice zurückgbt.
-
Unabhängig von den Meldungen wegen der PDB-Files bekomme ich noch diese Meldung:
Eine Ausnahme (erste Chance) bei 0x750dc41f (KernelBase.dll) in MyD3D11Project.exe: Microsoft C++-Ausnahme: _com_error an Speicherposition 0x0035f1ac..
Die ist zwischen den anderen Meldungen wird aber nicht als error oder so bezeichnet.
Mit runtime, meinst du da die neueste DirectX Version? Habe jetzt DirectX 11 aber kA ob das jetzt das neueste ist. Ich lade mal das aktuellste und schaue mal.Hoffe die Meldung oben hilft weiter. Sonst sind es wie gesagt nur PDB-Files Meldungen. 2 können nicht geöffnet werden und der Rest geht.
EDIT: Diese beiden kommen auch, aber so wie ich das sehe, erst nach beenden des Programms:
Der Thread 'Win32-Thread' (0x1bc4) hat mit Code 0 (0x0) geendet.
Das Programm "[13592] MyD3D11Project.exe: Systemeigen" wurde mit Code 0 (0x0) beendet.
-
Hm mit COM kenne ich mich nicht wirklich aus, könnte sein dass die nur Auftritt weil du versuchst zu zeichnen nachdem "D3D11CreateDevice " fehlgeschlagen ist.
Ja ich meinte die neuste DirectX Version.
Schau dochmal welches HRESULT von "D3D11CreateDevice" zurückgegeben wird, sollte einer de DirectX Error Codes sein.
-
Also habe die DirectX Version gecheckt und ist anscheinend die aktuellste.
Wo genau kann ich nachschauen was HRESULT wiedergibt?
Ich kenn mich da noch nicht so gut aus.
-
Aknayirp schrieb:
Wo genau kann ich nachschauen was HRESULT wiedergibt?
Ich kenn mich da noch nicht so gut aus.~~
Dann hör schleunigst mit der Grafikprogrammierung auf und hol dir ein gescheites C++ Buch.~~EDIT: vielleicht hab ich dich falsch verstande: Meintest du, dass du nicht weist wie du den Rückgabe wert von D3D11CreateDevice bekommst oder nicht weist, was der Rückgabewert bedeutet.
Im ersten Fall: siehe was ich durchgestrichen habe.
Im zweiten Fall: Siehe Link von DarkShadow44DarkShadow44 schrieb:
Schau dochmal welches HRESULT von "D3D11CreateDevice" zurückgegeben wird, sollte einer der DirectX Error Codes sein.
-
Das zweite. Weiß nicht wie ich den Link von DarkShadow übersehen konnte.
Danke nochmals. Melde mich nochmal.