Pixel Setzen mit DirectX?



  • Hey,

    weiß Jemand von Euch wie ich es schaffe mit DirectX
    die Farbe eines einzelnen Pixels zu setzen ?


  • Mod

    direct3d ist quasi dafuer gemacht worden um farben von pixeln zu setzen, wo genau ist dein problem? hast du das tutorial aus dem directX sdk durchgearbeitet?



  • naja mit welchem befehl kann ich denn die farbe setzen ich finde ihn einfach nicht texturen zeichnen und alles funktioniert aber ich möchte aber direct im backbuffer die farbe des pixels ändern


  • Mod

    du kannst linien, punkte, dreiecke mit d3d9 zeichnen, mach einfach eines davon so klein dass es nur einen pixel abdeckt 😉



  • Zudem gäbe es dann auch noch die Methode GetBackBuffer bei IDirect3DDevice9
    Damit erhälst du dann den Backbuffer und kannst direkt die Pixel bearbeiten.

    Bin mir da zwar jetzt nicht sicher, aber damit das klappt musst du glaube ich jedoch auch D3DPRESENTFLAG_LOCKABLE_BACKBUFFER in der D3DPRESENT_PARAMETERS Struktur angeben.

    cu



  • Mit dem lockable Backbufefr muß man aber aufpassen da gibt es dann einige flags die glaub nicht gingen. Ich halte aber das Zeichnen einer Pixelliste über XYZRHW am besten da kansnte genauso jeden Pixel setzen ohne das du erst hin und herlocken mußt.



  • rapso schrieb:

    du kannst linien, punkte, dreiecke mit d3d9 zeichnen, mach einfach eines davon so klein dass es nur einen pixel abdeckt 😉

    Gibt ja auch einen Primitivtyp "Point". f'`8k

    Autocogito

    Gruß, TGGC (Das kommt gut)



  • Xebov schrieb:

    Mit dem lockable Backbufefr muß man aber aufpassen da gibt es dann einige flags die glaub nicht gingen. Ich halte aber das Zeichnen einer Pixelliste über XYZRHW am besten da kansnte genauso jeden Pixel setzen ohne das du erst hin und herlocken mußt.

    Kommt aber vermutlich auch drauf an wie viele Pixel man setzen möchte.
    Wenn ich z.B. alle Pixel in einer Textur einzeln setzen möchte (=die Textur updaten), ... 😉

    p.S.: was das Backbuffer-Locken angeht gebe ich dir aber Recht. Ich würde das auch eher über eine Hilfs-Textur machen. WENN es genug Pixel sind, dass es sich auszahlt.



  • Einzelne Pixel setzen geht mit SDL immernoch am einfachsten; da kann man sich den ganzen DirectX Initialisierungskram sparen. Dies nur so als Randbemerkung 🙂



  • /rant/ schrieb:

    Einzelne Pixel setzen geht mit SDL immernoch am einfachsten; da kann man sich den ganzen DirectX Initialisierungskram sparen. Dies nur so als Randbemerkung 🙂

    Und im DOS Modus gehts erst einach 🙄


Anmelden zum Antworten