 |
JLI Spieleprogrammierung
|
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
|
Verfasst am: 20.09.2004, 21:17 Titel: Fenstergröße ändern |
|
|
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 |
|
 |
Sören JLI Master Trainee

Anmeldedatum: 26.07.2002 Beiträge: 647 Wohnort: Bonn Medaillen: Keine
|
Verfasst am: 20.09.2004, 21:37 Titel: |
|
|
Zeig mal welche Parameter du aus deiner Anwendung übergibst(und auch wann, bei welchen WinNachrichten). |
|
Nach oben |
|
 |
Dr. Best Senior JLI'ler

Alter: 35 Anmeldedatum: 17.06.2004 Beiträge: 269 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 21.09.2004, 14:21 Titel: |
|
|
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 |
|
 |
|
|
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
|