Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
VerruecktesHuhn Super JLI'ler
Anmeldedatum: 30.07.2002 Beiträge: 492 Wohnort: Stuttgart Medaillen: Keine
|
Verfasst am: 27.12.2002, 19:42 Titel: Probs mit dem erzeugen eines D3D Devices! |
|
|
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 |
|
|
Kampfhund Super JLI'ler
Alter: 42 Anmeldedatum: 20.07.2002 Beiträge: 408
Medaillen: Keine
|
Verfasst am: 27.12.2002, 19:54 Titel: |
|
|
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 |
|
|
VerruecktesHuhn Super JLI'ler
Anmeldedatum: 30.07.2002 Beiträge: 492 Wohnort: Stuttgart Medaillen: Keine
|
Verfasst am: 27.12.2002, 20:08 Titel: |
|
|
unter welchem begriff? |
|
Nach oben |
|
|
Jörg JLI MVP
Anmeldedatum: 19.07.2002 Beiträge: 182 Wohnort: Siegen/NRW Medaillen: Keine
|
Verfasst am: 27.12.2002, 22:45 Titel: |
|
|
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 |
|
|
VerruecktesHuhn Super JLI'ler
Anmeldedatum: 30.07.2002 Beiträge: 492 Wohnort: Stuttgart Medaillen: Keine
|
Verfasst am: 28.12.2002, 14:33 Titel: |
|
|
Ok!
jetzt läuft alles wie geschmiert! Ich hab vergessen BackBufferFormat anzugeben.
Aber: Ich find das DX Error Lookup nirgens! |
|
Nach oben |
|
|
Jörg JLI MVP
Anmeldedatum: 19.07.2002 Beiträge: 182 Wohnort: Siegen/NRW Medaillen: Keine
|
Verfasst am: 28.12.2002, 14:59 Titel: |
|
|
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 |
|
|
VerruecktesHuhn Super JLI'ler
Anmeldedatum: 30.07.2002 Beiträge: 492 Wohnort: Stuttgart Medaillen: Keine
|
Verfasst am: 28.12.2002, 15:31 Titel: |
|
|
Hab den ganzen PC abgesucht und keine solche Datei gefunden! |
|
Nach oben |
|
|
Jörg JLI MVP
Anmeldedatum: 19.07.2002 Beiträge: 182 Wohnort: Siegen/NRW Medaillen: Keine
|
Verfasst am: 28.12.2002, 19:02 Titel: |
|
|
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 |
|
|
VerruecktesHuhn Super JLI'ler
Anmeldedatum: 30.07.2002 Beiträge: 492 Wohnort: Stuttgart Medaillen: Keine
|
Verfasst am: 28.12.2002, 19:21 Titel: |
|
|
Danke, habs jetzt! |
|
Nach oben |
|
|
|