Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » DirectX » einzelne Pixel färben

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
24.06.2008, 13:45 Uhr
Lensflare



Hi.

Ich hab es mit DirectX zwar geschafft ein Polygon zu malen, aber wie male ich einzelne pixel?

Hier mein code für das polygon:

C# code:

C++:
private Microsoft.DirectX.Direct3D.Device m_Device = null;
private CustomVertex.TransformedColored[] m_TriangleVertices = new CustomVertex.TransformedColored[3];

//... (initialisierungen) ...

        public void Draw()
        {
            m_Device.Clear(ClearFlags.Target, Color.Black, 0, 1);
            m_Device.BeginScene();

            m_Device.VertexFormat = CustomVertex.TransformedColored.Format;

            m_Device.DrawUserPrimitives(PrimitiveType.TriangleList, 1, m_TriangleVertices); //Polygon
            m_Device.DrawUserPrimitives(PrimitiveType.PointList, 1, m_TriangleVertices); //Pixel

            m_Device.EndScene();
            m_Device.Present();
        }



also ich habs zwar hinbekommen, indem ich den vertex hingemalt hab, aber das kostet anscheinend um einiges mehr rechenzeit als das direkte malen der pixel.
Mit direkt meine ich sowas wie:
DrawPixel(int x, int y, Color c)

Hab im Direct3D.Device und im DirectDraw.Device gesucht und nichts derartiges gefunden.
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)

Dieser Post wurde am 24.06.2008 um 13:45 Uhr von Lensflare editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
15.07.2008, 01:30 Uhr
xXx
Devil


Hm ne gibt es nicht :P Du musst immer bedenken, es gibt 3 Dimensionen! 2 Dimensionen ist halt durch vortransformierte Vertex zu realisiert ...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
15.07.2008, 11:23 Uhr
Oliver
S2-Pixelgeneral


Und was willst du damit erreichen? Eine Alternative wäre noch ein Surface zu locken oder direkt den Backbuffer und dann da rein zu schreiben...
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
17.07.2008, 02:02 Uhr
Lensflare




Zitat von Oliver:

Eine Alternative wäre noch ein Surface zu locken oder direkt den Backbuffer und dann da rein zu schreiben...


Wie?

Was ist mit DirectDraw? Ist das die 2D Variante von Direct3D?
Wenn ja, kann ich sowohl DirectDraw als auch Direct3D zugleich benutzen oder muss ich mich für eins entscheiden?

Es kann doch nicht sein, dass man für simples Färben eines Pixels den Umweg über 3D gehen muss...
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ DirectX ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: