Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Jan-Nik

Frischling

  • »Jan-Nik« ist der Autor dieses Themas

Beiträge: 5

Wohnort: Sulingen

  • Private Nachricht senden

1

31.07.2009, 20:41

JNGL - Sehr einfache 2D-Grafik-Library

Hallo alle miteinander,

Ich suche noch Leute die mitarbeiten an einer sehr einfachen 2D-Library für C++ und Python namens JNGL oder sie testen. Ich hatte sie vor fast 2 Jahren schonmal hier vorgestellt, mitlerweile hat sich einiges getan.

Die Library wurde geschrieben, da sie zwei Sachen erfüllt, die ich sonst bei keiner für Windows und Linux gefunden habe: Keine C-Sachen (Zeiger, Makros), aber auch keine Klassen, da sie sich an Anfänger richtet.

Features:
- OpenGL-Beschleunigung
- Laden von PNGs durch libpng, JPGs durch libjpeg, sowie BMPs
- Alpha-Transparenz bei RGBA-PNGs
- Kantenglättung (Multisampling)
- Timer (QueryPerformanceTimer unter Windows, glib unter Linux)
- UTF-8 Schriftausgabe mittels Freetype (.ttf Dateien)

Homepage:
http://watteimdocht.de/jngl

Für die Entwicklung verwende ich scons, boost, autopackage und NSIS.

Zwei Projekte, die die Library verwenden:
http://watteimdocht.de/jntetri/
http://watteimdocht.de/index_jn-shooter.php

Freu mich über Kritik und Anregungen. :)

2

31.07.2009, 23:22

Also wofür genau ist das? Eine Lib die mit Ogl beschleunigt Sprites anzeigt?
Und wieso sind Zeiger C Sachen? das man Makros unter C++ nicht mehr so oft verwendet, ja klar, aber Zeiger braucht man trotzdem noch ständig.
Und wieso keine Klassen? Damit machst du die Lib irgendwie für alle fortgeschrittenen uninteressant. Und Sprites kann man ja nun sowas von logisch und gut als Klasse implementieren...
Lieber dumm fragen, als dumm bleiben!

xardias

Community-Fossil

Beiträge: 2 731

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

3

01.08.2009, 09:14

Ich finde die Lib eigentlich ziemlich nett. Bietet einem Anfänger doch genau das was er braucht: "Ich will ein Bild da hin zeichnen"

Ein fortgeschrittener Entwickler würde sich einfach ein OOP Framework mit Spriteklasse/etc drumherum bauen, also sehe ich kein Problem in der prozeduralen API. Im Gegenteil, das macht es sehr simpel.

Vor allem in der Python API gefällt es mir sehr.

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

4

01.08.2009, 11:42

ja definitiv sehr einfach und intuitiv gehalten was so an tutorials da ist. einen tipp nur: für die projekte die das nutzen gleich nen installer zur verfügung zu stellen ist etwas overhead...^^ meine allein wenn du patchst dann muss man allen krams deinstallieren und wieder installieren^^.

EDIT: sry, tippen is heut nich meine stärke^^

Jan-Nik

Frischling

  • »Jan-Nik« ist der Autor dieses Themas

Beiträge: 5

Wohnort: Sulingen

  • Private Nachricht senden

5

02.08.2009, 16:07

Danke für die Antworten :)

Zitat von »"Jonathan_Klein"«

Also wofür genau ist das? Eine Lib die mit Ogl beschleunigt Sprites anzeigt?

Jep.

Zitat

Und wieso sind Zeiger C Sachen? das man Makros unter C++ nicht mehr so oft verwendet, ja klar, aber Zeiger braucht man trotzdem noch ständig.

Also ich brauch Zeiger nicht oft. Eigentlich fast nie, wenn dann nehme ich Smart Pointer. Aber du hast natürlich recht, Zeiger sind keine reinen C-Sachen. Das Problem war nur, dass ich einigen Leuten C++ beigebracht habe und Zeiger hatten wir noch nicht durchgenommen. Für C-Libraries wie die SDL wär das allerdings dringend notwendig.

Zitat

Und wieso keine Klassen? Damit machst du die Lib irgendwie für alle fortgeschrittenen uninteressant. Und Sprites kann man ja nun sowas von logisch und gut als Klasse implementieren...

Also ich seh die Implementierung als reine Klasse eher problematisch. Denn ich muss ja von verschiedenen Stellen im Code auf ein Sprite zugreifen können, brauche also so eine Art Resource-Manager. Und sowas hat JNGL intern: Eine Map mit einer Texture-Klasse.

Zitat von »"xardias"«

Ich finde die Lib eigentlich ziemlich nett. Bietet einem Anfänger doch genau das was er braucht: "Ich will ein Bild da hin zeichnen"

Ein fortgeschrittener Entwickler würde sich einfach ein OOP Framework mit Spriteklasse/etc drumherum bauen, also sehe ich kein Problem in der prozeduralen API. Im Gegenteil, das macht es sehr simpel.

Jo, genau so seh ich das auch ;)

Zitat

Vor allem in der Python API gefällt es mir sehr.

Das freut mich, hab das erst vor ein paar Tagen hinzugefügt, ging dank boost.python ziemlich einfach.

Zitat von »"TrommlBomml"«

ja definitiv sehr einfach und intuitiv gehalten was so an tutorials da ist. einen tipp nur: für die projekte die das nutzen gleich nen installer zur verfügung zu stellen ist etwas overhead...^^ meine allein wenn du patchst dann muss man allen krams deinstallieren und wieder installieren^^.

Ich hab das mit dem Installer gemacht, da dieser gleich die richtigen Dateien an die richtige Stelle kopiert (include, lib, etc.). Du musst übrigens nicht deinstallieren, kannst einfach ne neue Version "rüber" installieren. Deinstallieren geht außerdem gar nicht, da der Installer keine Einträge in der Registry macht. Ist also eher son selbst-entpackendes Archiv.

Btw: Der Installer ist nur zum Entwickeln notwendig, die Library selbst wird komplett statisch gelinkt ;)

Werbeanzeige