JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.phpMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Fenstergröße ändern

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


Alter: 35
Anmeldedatum: 17.06.2004
Beiträge: 269
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 20.09.2004, 21:17    Titel: Fenstergröße ändern Antworten mit Zitat

tach,
ich schreibe grad eine Funktion um die größe eines D3D fensters zu ändern.
Bis jetzt sieht das so aus:
Code:
void ChangeSize(int width,int height){
    //Den Viewport ändern
   D3DVIEWPORT8 Viewport;
   lpD3DDevice->GetViewport(&Viewport);
   Viewport.Width=width;
   Viewport.Height=height;
   lpD3DDevice->SetViewport(&Viewport);

    //Das Fenster selbst vergrößern
   MoveWindow(hWind,0,0,width,height,true);

    //Die RenderTargets durch größere ersetzen
   IDirect3DSurface8* Surface=0;
   IDirect3DSurface8* ZBuffer=0;
   IDirect3DSurface8* buffer=0;
   D3DSURFACE_DESC format;
   lpD3DDevice->GetRenderTarget(&buffer);
   buffer->GetDesc(&format);
   lpD3DDevice->CreateRenderTarget(width,height,format.Format,format.MultiSampleType,false,&Surface);
   lpD3DDevice->GetDepthStencilSurface(&ZBuffer);
   ZBuffer->GetDesc(&format);
lpD3DDevice->CreateDepthStencilSurface((UINT)width,(UINT)height,format.Format,format.MultiSampleType,&ZBuffer);

   lpD3DDevice->SetRenderTarget(Surface,ZBuffer);}


Das Problem bei dem ich mit meinem Latein am Ende bin ist: Wenn ich die Funktion benutze wird das Fenster zwar größer doch es wird bloß der gleiche ausschnitt wie vorher in skalierter version dargestellt. Hat irgendjemand eine Idee was ich falsch mache?
P.S. Ich hab in der letzten zeit viel hier gefragt. Das hier ist hoffentlich vorerst die letzte Frage die ich hier stellen muss dar diese Funktion vorerst das letzte ist was ich in meinem Programm mache.
_________________

Ich bin da, wer noch?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name MSN Messenger
Sören
JLI Master Trainee



Anmeldedatum: 26.07.2002
Beiträge: 647
Wohnort: Bonn
Medaillen: Keine

BeitragVerfasst am: 20.09.2004, 21:37    Titel: Antworten mit Zitat

Zeig mal welche Parameter du aus deiner Anwendung übergibst(und auch wann, bei welchen WinNachrichten).
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Dr. Best
Senior JLI'ler


Alter: 35
Anmeldedatum: 17.06.2004
Beiträge: 269
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 21.09.2004, 14:21    Titel: Antworten mit Zitat

Nachrichten verwende ich garnicht. Das ganze sieht was anders aus. Das programm ist eine DLL. Diese binde ich in ein anderes Programm ein. Bevor ich D3D initialisiere erstelle ich ein Child Fenster ohne Border usw. Und als Parentfenster das Fenster von dem Programm in das ich die DLL einbinde. Die Renderfunktion wird jeden frame aufgerufen. Es ist so gedacht das einfach durch den einmaligen aufruf der ChangeSize() Funktion die Fenstergröße geändert ist. Ohne irgendwelche nachrichtenübermittlung oder so.
_________________

Ich bin da, wer noch?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name MSN Messenger
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