[D3D10] Auf Pixeldaten von Textur zugreifen

Anfänger92

Erfahrenes Mitglied
Hallo,

der Titel sagt alles ...
wie das ganze in DX 9 geht ist mir klar aber bei DX10 bin ich ratlos.

Und Google macht mich auch nicht schlauer, genauso wenig wie die Beispiel-Programme aus dem SDK.

Es get mir darum das ich die Farbe jedes einzelnen Pixels ändern kann.

Gruß
Anfänger
 
Hallo Anfänger,

ich nehme an du willst die Textur von der CPU verändern lassen? Dann musst du sie entweder mappen oder sie direkt updaten. Dabei nicht vergessen, dass die Textur mit den passenden Flags dafür angelegt worden sein muss (D3D10_CPU_ACCESS_WRITE und D3D10_USAGE_DYNAMIC bzw. D3D10_USAGE_STAGING).

Grüße, Matthias
 
Danke.

... Jetz bin auch ich dahinter gekommen das "ID3D10ShaderResourceView" nicht das Textur-Interface ist.

Bin noch von DX9 gewöhnt, dass es nur das eine Interface gibt, welches dann alles kann.

Gruß
Anfänger

Edit:
OK.. nochwas vergessen.
Gibt es eine möglichkeit nur einen bestimmten Bereich zu ändern?

Das Problem hab auch auch bei Vertex-Buffern... will ich einen Vertex ändern muss direkt der ganze Buffer ran.
 
Edit:
OK.. nochwas vergessen.
Gibt es eine möglichkeit nur einen bestimmten Bereich zu ändern?
Nein, zumindest kenne ich keine.

Das Problem hab auch auch bei Vertex-Buffern... will ich einen Vertex ändern muss direkt der ganze Buffer ran.
Auch hier gilt: ganz oder gar nicht. Bei welchem Anwendungsfall musst du denn die Position von nur einem Vertex ändern? Vielleicht kann man das auch auf der GPU machen.

Grüße, Matthias
 
Naja ich arbeite an einem kleinen Terrain-Editor.

Deswegen muss ich oft nur einen einzelnen Vertex ändern.

Shader... naja davon hab ich leider keine Ahnung von. Kenne nur die Grundlagen.

Gruß
Anfänger
 
Ich muss mich korrigieren. Wenn du nur schreibend auf einen bestimmten Bereich zugreifen willst, dann kannst du das mit UpdateSubresource machen, indem du eine entsprechende D3D10_BOX angibst. Damit solltest du z.B. selektiv einen einzelnen Eintrag in einem Buffer ändern können.

Grüße, Matthias
 
Zurück