Einfaches Rendering-System in C schreiben
-
Hi!
Ich möchte gerne (um meine C und Computergraphik-Kenntnisse zu vertiefen) ein einfaches Rendering-System in reinem C programmieren. Ich möchte dabei ganz low-level bleiben und keine Libraries wie OpenGL benutzen. Mit den Algorithmen und Methoden die ich dazu brauche kenne ich mich aus, allerdings weiß ich nicht, wie man z.B. eine Fullscreen-Anwendung realisiert oder wie man auf die einzelnen Pixel des Bildschirms zugreift. Kann mir jemand Links oder Literatur empfehlen?
lg, mocky
-
welches betriebssystem und wenn bekannt welches api moechtest du denn benutzen?
-
Hi rapso,
Als Betriebssystem verwende ich Ubuntu. Ein API möchte ich am Besten gar nicht nutzen, sondern die Werte der einzelnen Pixel direkt in den FrameBuffer setzen. Wie kann man das machen?
Wenn man Ubuntu ohne GNOME nur mit dem Command Line Interface startet, dann gibt es ja auch Fullscreen-Programme wie z.B. emacs, die beliebige Formen und Linien auf den Bildschirm zeichnen. So möchte ich das auch machen.lg, mocky
-
direkten hardware zugriff wirst du vermutlich nicht bekommen wenn linux oder windows das OS ist. du brauchst wenigstens ein paar api aufrufe um dann dein pixelarray auf den bildschirm kopieren zu lassen. aber das sind nur ein paar aufrufe die sich kapseln lassen.
wenn ich soetwas quick&dirty machen will nehm ich opengl und lade meinen screen immer als textur hoch und zeichne das als ein quad.
von linux als desktop-system hab ich leider kaum ahnung, da muss jemand anderes was schlaues sagen *hehe*
-
direkter hardwarezugriff muss es ja nicht sein, mir würde schon ein system call, mit dem ich mein pixelarray in den framebuffer schaufeln kann genügen.
das mit den texturen würde zwar funktionieren, allerdings möchte ich wie gesagt keine high-level apis verwenden und der renderer soll auch software-basiert sein.
-
Ich würde SDL verwenden, dort kannst du dir einen Zeiger auf die Daten deiner Display-Surface holen, und dann direkt dort hineinschreiben. Zusätzlich hast du den Vorteil, dass du plattformunabhängig arbeiten kannst...
Grüße
Martin
-
hab mir SDL mal angeschaut, das hört sich gut an, danke
lg, mocky
-
-
Ja genau, nach sowas wie PixelToaster habe ich gesucht.
lg, mocky