JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=3ea55998b7a3b73db5c7ec6bd3c00613Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Probs mit dem erzeugen eines D3D Devices!

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
VerruecktesHuhn
Super JLI'ler



Anmeldedatum: 30.07.2002
Beiträge: 492
Wohnort: Stuttgart
Medaillen: Keine

BeitragVerfasst am: 27.12.2002, 20:42    Titel: Probs mit dem erzeugen eines D3D Devices! Antworten mit Zitat

Hi!
Ich will ganz normal ein D3D Device anfordern, aber es geht nicht! Der Rückgabe wert lautet: FFFFFFFF8876086C (schon umgerechnet).

hier der Code:
Code:

if( FAILED( lpD3DInterface->GetAdapterDisplayMode( D3DADAPTER_DEFAULT, &D3DDisplay ) ) )
{
MessageBox( hWnd, "Konnte D3D Display Mode nicht anfordern!", "Fehler!", MB_OK|MB_ICONEXCLAMATION );
exit( -1 );
}

GetWindowRect( hWnd, &rcWindowRect );
GetClientRect( hWnd, &rcWindowClient );

ZeroMemory( &D3DPParameters, sizeof( D3DPParameters ) );
D3DPParameters.hDeviceWindow = hWnd;
D3DPParameters.BackBufferWidth = ( rcWindowClient.right - rcWindowClient.left );
D3DPParameters.BackBufferHeight = ( rcWindowClient.bottom - rcWindowClient.top );
D3DPParameters.SwapEffect = D3DSWAPEFFECT_FLIP;
D3DPParameters.MultiSampleType = D3DMULTISAMPLE_NONE;
D3DPParameters.EnableAutoDepthStencil = TRUE;
D3DPParameters.AutoDepthStencilFormat = D3DFMT_D16;
D3DPParameters.Windowed = TRUE;

HRESULT hr = lpD3DInterface->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &D3DPParameters, &lpD3DDevice );
if( FAILED( hr ) )
{
MessageBox( hWnd, "Konnte D3D Device nicht anfordern!", "Fehler!", MB_OK|MB_ICONEXCLAMATION );
exit( -1 );
}


So. Das sollte jetzt eigentlich ein Direct 3D Device im fenster modus erzeugen!!!

Könnt ihr mir sage, was dadran falsch ist, oder was der Rückgabe wert bedeutet?

Cu,
VH
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Kampfhund
Super JLI'ler


Alter: 41
Anmeldedatum: 20.07.2002
Beiträge: 408

Medaillen: Keine

BeitragVerfasst am: 27.12.2002, 20:54    Titel: Antworten mit Zitat

teste den rückgabewert doch einfach.
in der msdn findest du die möglichen rückgabewerte der funktion mit beschreibung.

Code:

switch(hr)
{
     case ... :

...

}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
VerruecktesHuhn
Super JLI'ler



Anmeldedatum: 30.07.2002
Beiträge: 492
Wohnort: Stuttgart
Medaillen: Keine

BeitragVerfasst am: 27.12.2002, 21:08    Titel: Antworten mit Zitat

unter welchem begriff?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jörg
JLI MVP
JLI MVP



Anmeldedatum: 19.07.2002
Beiträge: 182
Wohnort: Siegen/NRW
Medaillen: Keine

BeitragVerfasst am: 27.12.2002, 23:45    Titel: Antworten mit Zitat

Im Fenstermodus musst du fuer die Breite und Höhe des Backbuffers jeweils 0 angeben, nicht die tatsächliche Fensterbreite, die kriegt DX selber raus.
Denke desweiteren daran, als BackBufferFormat die Farbtiefe des Desktop anzugeben. Du bekommst diesen Wert mittels lpD3DInterface->GetAdapterDisplayMode().
Ebenso musst du für RefreshRateInHz 0 angeben.

Hoffentlich funktionierts dann.

Es ist weiterhin von Vorteil, wenn du dein Programm mit F5 im Debugmodus startest, denn Direct3D gibt dann in der Debugausgabe eine genaue Fehlerbeschreibung an. Wieviel Debug-Output DX erzeugt kannst du in Systemsteuerung->DirectX einstellen. Wähle dort "Use Debug Version of Direct3D" und stelle den Regler für Debug Output Level richtung 'more'.
Ein weiteres nützliches Tool ist "DirectX Error Lookup". Du kannst dort den Hex-Fehlerwert, den dir eine DirectX-Funktion zurückgegeben hat eingeben, und dir die entsprechende Fehlermeldung im Klartext anzeigen.

Viel Spaß beim ausprobieren.
_________________
www.messiahzone.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
VerruecktesHuhn
Super JLI'ler



Anmeldedatum: 30.07.2002
Beiträge: 492
Wohnort: Stuttgart
Medaillen: Keine

BeitragVerfasst am: 28.12.2002, 15:33    Titel: Antworten mit Zitat

Ok!
jetzt läuft alles wie geschmiert! Ich hab vergessen BackBufferFormat anzugeben.

Aber: Ich find das DX Error Lookup nirgens!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jörg
JLI MVP
JLI MVP



Anmeldedatum: 19.07.2002
Beiträge: 182
Wohnort: Siegen/NRW
Medaillen: Keine

BeitragVerfasst am: 28.12.2002, 15:59    Titel: Antworten mit Zitat

Such mal nach 'DXErr.exe' in deinem DXSDK-Ordner, bzw. schau in Start->Programme->Microsoft DirectX SDK->DirectX Utilities nach.
_________________
www.messiahzone.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
VerruecktesHuhn
Super JLI'ler



Anmeldedatum: 30.07.2002
Beiträge: 492
Wohnort: Stuttgart
Medaillen: Keine

BeitragVerfasst am: 28.12.2002, 16:31    Titel: Antworten mit Zitat

Hab den ganzen PC abgesucht und keine solche Datei gefunden!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jörg
JLI MVP
JLI MVP



Anmeldedatum: 19.07.2002
Beiträge: 182
Wohnort: Siegen/NRW
Medaillen: Keine

BeitragVerfasst am: 28.12.2002, 20:02    Titel: Antworten mit Zitat

Oh, tut mir leid, ist scheinbar erst ab DirectX 9 SDK dabei. Du kannst es dir hier herunterladen.

Jörg
_________________
www.messiahzone.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
VerruecktesHuhn
Super JLI'ler



Anmeldedatum: 30.07.2002
Beiträge: 492
Wohnort: Stuttgart
Medaillen: Keine

BeitragVerfasst am: 28.12.2002, 20:21    Titel: Antworten mit Zitat

Danke, habs jetzt!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum