DirectX-Forum - Beitragsübersicht -
ThemaDX9: pixelmanipulation
Von cgmarco
E-Mail cgmarco@gmx.de
Datum 24. Oktober 2009 um 15:07:02
Frage moin moin
ich möchte die pixel einer textur (ohne pixelshader) manipulieren...
wie geht das???
Antwort:
Von Michael Kenzel
E-Mail dot@aon.at
Datum 24. Oktober 2009 um 15:54:31
Antwort Nunja, du musst die Textur locken bzw. mit Device.UpdateTexture() oder Device.UpdateSurface() in eine
zweite Textur/Surface kopieren und diese dann locken, je nachdem in welchem Pool die Textur liegt und
mit welchen Usage-Flags sie erzeugt wurde. Mit dem GraphicsStream den du von
Texture/Surface.LockRectangle() bekommst kannst du dann auf die Daten in der Textur zugreifen, dir also
z.B. ausrechnen wo in den Daten ein Pixel den du haben willst liegt und an diese Stelle einen neuen Wert
schreiben. Danach musst du die Texture/Surface mit UnlockRectangle() wieder unlocken und je nachdem die
neuen Daten auch wieder mit UpdateTexture/Surface() zurückschreiben.

Dazu sei gesagt dass das Locken einen nicht zu vernachlässigbaren Overhead darstellt (langsamer
Bustransfer, evtl. Pipeline Stall in der GPU, ...) und je nachdem was man lockt und wie man das anstellt
signifikant auf die Performance drücken kann.

Deswegen gleich meine Frage: Was genau hast du vor und warum willst du unbedingt direkt die Daten der
Textur
manipulieren?
[ Antwort schreiben | Zurück zum DirectX-Forum | Forum-Hilfe ]
Antworten
DX9: pixelmanipulation - cgmarco 24. Oktober 2009 um 15:07:02
Re: pixelmanipulation - Michael Kenzel 24. Oktober 2009 um 15:54:31
Re: pixelmanipulation - cgmarco 24. Oktober 2009 um 18:08:51
Re: pixelmanipulation - Michael Kenzel 24. Oktober 2009 um 20:44:54
Re: pixelmanipulation - cgmarco 25. Oktober 2009 um 16:00:20
Re: pixelmanipulation - cgmarco 26. Oktober 2009 um 21:58:42
Re: pixelmanipulation - cgmarco 27. Oktober 2009 um 00:04:54
Re: pixelmanipulation - Nico 27. Oktober 2009 um 16:20:42

Ihre Antwort
(Nick-)Name   Wichtige Informationen zur Namensangabe
E-Mail (opt.)  Wichtige Informationen zur Angabe einer eMail-Adresse
Thema   Wichtige Informationen zur Angabe eines Themas
Betrifft (IDE)  DirectX 9
Ihre Antwort
Smilies
Mehr...
FettKursivUnterstrichen   Übersicht der Tipp-KürzelÜbersicht der Projekt-KürzelÜbersicht der Bücher-Kürzel 
Homepage
Titel
Root-Smilies              
             
             
[ Zurück zum DirectX-Forum | Forum-Archiv | Forum-Hilfe | Chat ]

Zum Seitenanfang

Startseite | VB-/VBA-Tipps | Projekte | Tutorials | API-Referenz | Komponenten | Bücherecke | Gewinnspiele | VB.Net | .Net-Forum | DirectX | DirectX-Forum | Chat | Ausschreibungen | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Sonntag, 13. Dezember 2015