JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

Direkter Zugriff auf Oberflächen

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 01.08.2003, 06:59    Titel: Direkter Zugriff auf Oberflächen Antworten mit Zitat

Tschuldigung, wenn ich euch schon wieder nerve! Wink

Aber irgendwie will nicht so alles wie ich will. D3D kotzt mich langsam an auf 2D Ebene!! Sad

Egal:

Ich will also nur mal schön direkt auf den Backbuffer was schreiben und dann beendet sich das Programm auch abrupt! Sad

Code:
Code:

D3DLOCKED_RECT LockedRect;

   lpBackBuffer->LockRect(&LockedRect,0,0);

   int Pitch = LockedRect.Pitch/4;

   D3DCOLOR* Pixels = (D3DCOLOR*)LockedRect.pBits;

   for(int i=0;i<100;i++)
      Pixels[100*Pitch+i] = D3DCOLOR_XRGB(255,0,0);

   lpBackBuffer->UnlockRect();


ich hab jetzt diesen einfachen TestCode geschrieben, weil meine viel komplizierteren nicht funktionierten, hab ich's damit versucht, aber nicht mal das klappt...oder kann man irgendwie nicht auf den BackBuffer zugreifen und darauf schreiben???
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 01.08.2003, 07:22    Titel: Antworten mit Zitat

so funktionierst, aber dann überdeckt das alles andere:

Code:

LPDIRECT3DSURFACE9 lpSurface;
   lpD3DDevice->CreateOffscreenPlainSurface(SCREEN_WIDTH,SCREEN_HEIGHT,D3DFMT_A8R8G8B8,D3DPOOL_DEFAULT,&lpSurface,0);
   D3DLOCKED_RECT LockedRect;

   lpD3DDevice->ColorFill(lpSurface,0,0x00000000);

   lpSurface->LockRect(&LockedRect,0,0);

   int Pitch = LockedRect.Pitch/4;

   D3DCOLOR* Pixels = (D3DCOLOR*)LockedRect.pBits;

   for(int i=0;i<100;i++)
      Pixels[100*Pitch+i] = D3DCOLOR_XRGB(255,0,0);

   lpSurface->UnlockRect();
   lpD3DDevice->StretchRect(lpSurface,0,lpBackBuffer,0,D3DTEXF_NONE);
   lpSurface->Release();

_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 01.08.2003, 07:29    Titel: Antworten mit Zitat

hat sich erledigt! Very Happy

Naja man sollte lieber ganz aufmerksam das Buch lesen Embarassed

Mann muss unter Flags in der D3DPRSENT_PARAMETERS-Struktur D3DPRESENTFLAG_LOCKABLE_BACKBUFFER angeben....
_________________
The source of all power is in its destiny...
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 -> Fragen, Antworten und Kritik 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