JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

Reset-Methode von D3DDevice bei DirectX9

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



Anmeldedatum: 17.12.2003
Beiträge: 5

Medaillen: Keine

BeitragVerfasst am: 13.02.2004, 17:50    Titel: Reset-Methode von D3DDevice bei DirectX9 Antworten mit Zitat

Hallo Leute ich habe das Problem das die Reset-Methode immer mit dem Fehler D3DERR_INVALIDCALL fehlschlägt.

hier mal der in dem Bereich wichtige Code

Code:
   h=lpD3DDevice->Present(NULL, NULL, NULL, NULL);
   Log("Present");
   Log(DXGetErrorString9(h));
   if(h==D3DERR_DEVICELOST)
   {

      h=lpD3DDevice->TestCooperativeLevel();
      Log("Cooperative"),
      Log(DXGetErrorString9(h));
      if (h==D3DERR_DEVICENOTRESET)
      {
         D3DADAPTERINFO* pAdapter = &Adapterinfo[dwAdapter];
         D3DDEVICEINFO*  pDevice  = &pAdapter->Devices[pAdapter->dwAkt_Device];
         D3DMODEINFO*    pMode    = &pDevice->Modus[pDevice->dwAkt_Mode];
         D3DPRESENT_PARAMETERS d3dpp;
         // Lege die Variablen für das Direct3D Device fest
         ZeroMemory(&d3dpp, sizeof(D3DPRESENT_PARAMETERS));
         d3dpp.Windowed               = FALSE;
         d3dpp.BackBufferCount        = 1;
         d3dpp.MultiSampleType        = pDevice->MultiSampleType;
         d3dpp.SwapEffect             = D3DSWAPEFFECT_FLIP;
         d3dpp.EnableAutoDepthStencil = TRUE;
         d3dpp.AutoDepthStencilFormat = pMode->DepthStencilFormat;
         d3dpp.hDeviceWindow          = hWnd;
         d3dpp.BackBufferWidth        = BREITE;
         d3dpp.BackBufferHeight       = HOEHE;
         d3dpp.BackBufferFormat       = D3DFMT_X8R8G8B8;
         // WICHTIG: Ohne dies Flag können wir BackBuffer nicht ver-
         // riegeln, also nicht selbst darauf malen!!!
         d3dpp.Flags = D3DPRESENTFLAG_LOCKABLE_BACKBUFFER;
         Log("Reset:");         
         Log(DXGetErrorString9(lpD3DDevice->Reset(&d3dpp)));
      }
   }


habs auch schon mit genau dem Selben D3DPRESENT_PARAMETERS wie ich auch für das CreateDevice benutzt hatte.

Help[/u]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
fowly
JLI'ler



Anmeldedatum: 25.01.2004
Beiträge: 196
Wohnort: Detmold - NRW
Medaillen: Keine

BeitragVerfasst am: 13.02.2004, 19:56    Titel: Antworten mit Zitat

hallo,

ich hatte das problem auch eine zeit lang. eigentlich bringt es die Reset Methode nicht wirklich, denn nach meiner Erfahrung funktionieren die Texturen (auch die im MANAGED-POOL) danach nicht mehr. Am besten du initialisierst das Device noch einmal neu und lädst die Texturen wieder, du musst den ResourceManager (wenn du den aus dem Buch benutzt) nur ein wenig umändern.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Brillus
Mini JLI'ler



Anmeldedatum: 17.12.2003
Beiträge: 5

Medaillen: Keine

BeitragVerfasst am: 13.02.2004, 21:28    Titel: Antworten mit Zitat

Also den Übertäter habe ich gefunden es kommt daher das ich den Bachpuffer mir besorge wenn ich das raus holle funzt es.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
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