JNGL - Sehr einfache 2D-Bibliothek in C++
-
Für die Schule hab ich eine 2D-Bibliothek geschrieben, die sich an Anfänger richtet. Es gibt zwar schon diverse Bibliotheken, doch keine hatte das was ich brauchte: keine Zeiger aber auch keine Klassen. Dadurch kann man sie auch als Anfänger in C++ benutzen ohne gleich C-Bibliotheken wie SDL nehmen zu müssen.
Ich suche nun Leute die Lust haben daran mit zu arbeiten. Die Library (LGPLv2.1) ist in C++ geschrieben, verwendet boost, benutzt als Build-System SCons und OpenGL zur Grafikausgabe und libpng um PNG-Dateien zu laden.
Internet-Seite: http://watteimdocht.de/jngl
Source-Code-Browser: http://watteimdocht.de/jngl/browser
Kleines Spiel von einem Freund von mir: http://watteimdocht.de/index_jnshooter.phpFeedback jeglicher Art erwünscht
-
Ich hab gerade gelesen, dass deine lib auf die "libpng" zurückgreift um die Texturen zu laden. Besser wäre es doch, wenn du dir selber einen Bitmap- und PNG-Decoder schreiben würdest oder?
-
way schrieb:
Ich hab gerade gelesen, dass deine lib auf die "libpng" zurückgreift um die Texturen zu laden. Besser wäre es doch, wenn du dir selber einen Bitmap- und PNG-Decoder schreiben würdest oder?
Also BMP-Dateien dekodier ich selber. Aber warum sollte ich das bei PNG-Dateien auch machen? Der Code dafür ist nicht gerade einfach und dadurch, dass ich libpng nehme, kann ich sicher sein, dass sich keine Sicherheitslücken einschleichen, die bei einer Neuimplementierung entstehen.
-
way schrieb:
Ich hab gerade gelesen, dass deine lib auf die "libpng" zurückgreift um die Texturen zu laden. Besser wäre es doch, wenn du dir selber einen Bitmap- und PNG-Decoder schreiben würdest oder?
Wieso sollte das besser sein? Kannst du das auch begründen oder schreibst du sowas einfach nur daher?
-
Natürlich. So muss er immer eine lib mit dabei legen oder der Benutzer muss sie noch mal extra einbinden. Wenn er die Bitmap-/PNG-Datei dekodiert und ohne irgendeine extra lib laden kann, ist das doch viel praktischer.
-
way schrieb:
Natürlich. So muss er immer eine lib mit dabei legen oder der Benutzer muss sie noch mal extra einbinden. Wenn er die Bitmap-/PNG-Datei dekodiert und ohne irgendeine extra lib laden kann, ist das doch viel praktischer.
Und Windows ist das der Fall, stimmt. Aber eigentlich ist ja die Idee hinter dynamischen Libraries wie libpng, dass sie nur einmal auf dem Rechner vorhanden sein müssen um so Speicherplatz und Arbeitsspeicher zu sparen.
Unter Linux klappt das ganze auch und man hat kleinere Binaries und verbraucht weniger Arbeitsspeicher, weil die dynamische Bibliothek durch Anwendungen wie Firefox schon im RAM ist. Eine schnelle Ladezeit hat man dann auch noch.