Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Chewie Super JLI'ler
Anmeldedatum: 17.07.2003 Beiträge: 382
Medaillen: Keine
|
Verfasst am: 28.07.2003, 19:51 Titel: Vom Backbuffer in Surface kopieren? |
|
|
Hi,
wie kann ich das anstellen? mit StretchRect geht das irgendwie nicht....die andere Surface ist auch mit D3DPOOL_DEFAULT erstellt. |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 28.07.2003, 20:57 Titel: |
|
|
GetFrontBufferData() |
|
Nach oben |
|
|
Chewie Super JLI'ler
Anmeldedatum: 17.07.2003 Beiträge: 382
Medaillen: Keine
|
Verfasst am: 29.07.2003, 10:32 Titel: |
|
|
supi, danke! kannst du mir vielleicht noch sagen, worin der Unterschied besteht zwischen dem Anlegen einer Surface mit D3DPOOL_SYSTEMMEM und D3DPOOL_SCRATCH?
-chewie |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 29.07.2003, 10:39 Titel: |
|
|
Ja
Surfaces und Texturen, die mit D3DPOOL_SCRATCH erstellt wurden können beliebige Größe, Eigenschaften usw. haben. Deshalb können sie auch nicht als Texturen, Rendertargets usw. verwendet werden. D3DPOOL_SYSTEMMEM Surfaces müssen sich an die vorganen des Device (Grafikkarte) halten. D.h. wenn die Grafikkarte nur 1024x1024 Große Surfaces erstellen kann, können die D3DPOOL_SYSTEMMEM Surfaces auch nicht größer sein. Dafür können sie aber auch als Textur usw. verwendet werden.
Christian |
|
Nach oben |
|
|
Chewie Super JLI'ler
Anmeldedatum: 17.07.2003 Beiträge: 382
Medaillen: Keine
|
Verfasst am: 29.07.2003, 15:09 Titel: |
|
|
coole sache...jetzt hab ich aber nocheine Frage dazu:
Ich realisiere gerade mein Scrolling so, wie du im Buch beschreibst...
Ich lege mir meinen Hintergrund im Sysmem an und kopiere spaltenweise in einen Buffer im Vidmem. Dafür benutze ich die Funktion UpdateSurface(). Diese kann aber nur von D3DPOOL_SYSTEMMEM wegkopieren, und wenn solche Surfaces nicht beliebig groß sein dürfen, hab ich ein Problem! Wie kann ich also von D3DPOOL_SCRATCH in D3DPOOL_DEFAULT kopieren?
-chewie |
|
Nach oben |
|
|
|