Motivation - Schreiben Sie ein Programm in C (und Assembly, falls erforderlich), um einen rechteckigen Bereich im Bildschirm rot zu färben.Was ist die absolut niedrigste Stufe der Zeichnungsabstraktion in GNU/Linux?
STRICT Anforderungen - GNU/Linux läuft mit den minimalen Dienstprogramme und Schnittstellen in Text/Konsole Modus. Also kein X (oder gleichwertig wie Wayland/Mir), keine nicht standardmäßigen (außerhalb des POSIX, LSB usw.) vom Kernel bereitgestellten Bibliotheken oder Schnittstellen und keine zusätzlichen Annahmen außer dem Vorhandensein des Gerätetreibers für den Monitor.
Effektiv, was ich suche, ist Informationen darüber, wie man ein Programm schreibt, das schließlich ein Signal über den VGA-Port und Kabel an den Monitor sendet, um einen bestimmten Teil des Bildschirms rot zu färben.
Entschuldigung, wenn das unhöflich klingt, aber nein "Warum willst du das tun?" oder "Warum benutzt du keine ABC-Bibliothek?" Antworten. Ich versuche zu verstehen, wie man zum Beispiel eine Implementierung des X-Servers oder eine Kernel-Framebuffer (/ dev/fb0) -Bibliothek schreibt. Es ist in Ordnung, eine Verbindung zur Quelle einer C-Bibliothek herzustellen.
http://wiki.osdev.org/VGA_Hardware – Joe
[OpenGL] (http://www.opengl.org/) ist, wie der Name schon sagt, geöffnet. Ich nehme an, Sie finden vielleicht einen Hinweis darauf, was Sie dort machen wollen. Es ist ein sehr niedriger Pegel, d. H. Punkte, Linien, Dreiecke, Farben. Der Quellcode sollte Ihnen helfen, ein Beispiel zu sehen, wie diese Bibliothek funktioniert, und es gibt eine große Menge an Dokumentation. [Siehe hier] (http://stackoverflow.com/questions/3352648/where-can-i-download-source-code-of-opengl) für Quellcode-Möglichkeiten. – ryyker
Es geht darum, mit sehr unterschiedlichen Grafikkarten umzugehen. AFAIK, ist die gemeinsame Teilmenge VGA, die heute veraltet ist (zu kleine Auflösung, etc ...). Sie müssen in Hardware-spezifische Sachen tauchen, und der Schmerz beginnt dort .... Wayland oder X bietet Ihnen eine gemeinsame Abstraktion, um mit verschiedenen Grafikkarten umzugehen .... –