Pixel zeichnen wie ein Software renderer



  • Hi Leute,

    ich möchte mal so ein bischen versuchen in C einen SoftwareRenderer zu schreiben. Erstmal nur so 2D Kram das reicht glaube ich für den Anfang 🙂 . Allerdings weiß ich gar nicht wie ich auch nur einen Pixel auf den Bildschirm kriege ohne OpenGL, Direct3D, Grafikkarten Treiber oder ähnliches zu verwenden.
    Kann mir einer sagen wie das geht?



  • das geht gar nicht, weil ANSI C keine Pixel kennt. Du musst auf eine solche Bibliothek zugreifen oder deine eigene schreiben, indem du die deine OS-API verwendest.



  • Hi,
    in C kannst du dir ne 'Offscreen-Bitmap' erzeugen. Die kannst du mit beliebigen Farbwerten füllen, also Softwaregesteuert reinmalen was du willst.
    Die Bitmap kannst du auch in C speichern und dir von einem Bildbearbeitungsprogramm anzeigen lassen.
    Oder:
    In Windows kannst du diese Bitmap z.B. mit BitBlt ins Konsolen- oder ein Windowsfenster schreiben, also anzeigen lassen.

    Für die reinen Pixeldaten ist die Offscreen-Bitmap ein char-Array.
    Oder besser, will man sich die Pixelwerte anzeigen lassen, ein unsigned char Array.



  • Alles klar, danke schön 🙂


Anmelden zum Antworten