Hi,
also ich weiß´ja nicht, wer schon alles Erfahrungen mit den beiden JavaOpengl Bindings gesammelt hat
Ich habe bisher alle Opengl entwicklungen, die ich mit Java realisiert habe, mit JOGL gemacht, Jetz habe ich aber überhaupt das erste Mal etwas bei LWJGL reingestöbert. Es wird immer hervorgehoben, dass LWJGL den besseren Spielesupport liefern würde (wobei ich auch nicht weiß, wodurch das zum Ausdruck kommt) und generell der Fokus mehr auf Spieleentwicklung liegen soll.
Die Meinungen scheinen, zumindest in den Foren, die ich durchgestöbert habe, schon ziemlich auseinander zu gehen.
Hat jemand von Euch schon Erfahrungen mit einem der beiden, womöglich gar beiden gemacht und kann sie etwas gegenüberstellen?
Was erwartest du denn von den jeweiligen Frameworks?
Beide haben verschiedene Philosophien. Zb. läuft bei JOGL der OGL Part über ein entsprechendes Objekt. Bei LWJGL hat man jeweils statische Methoden. Es gibt zwar ein entsprechendes Objekt mit dem man das ganze ähnlich wie in JOGL machen könnte, aber mir ist jetzt niemand in der LWJGL Community bekannt der das wirklich nutzt.
Das LWJGL eher auf Games abzielt merkt man denke ich vor allem an der erst spät hinzugefügten Swing Unterstützung. Mittlerweile kann man zwischen Applet, Swing und Standalone relativ leicht zwitschen was die Weitergabe und das testen der Anwendung vereinfacht.
Dann gibt es halt noch die Sound und Input APIs via OpenAL und JInput oder falls man die nicht nutzen will eben dritter Anbieter.
JOGL ist aus meiner Sicht primär auf den Desktop Bereich ausgerichtet, unterstützt aber trotz allem die Entwicklung von Spielen aktiv.
Ich weiß jetzt zwar nicht was du hören willst, aber ich für meinen Teil finde mich in LWJGL besser zurecht als in JOGL.
Ohne jetzt auch nur eine der beiden APIs zu kennen, statische Methoden/Attribute haben den Vorteil das man einen static-include machen kann, ein relativ unbekanntes Feature von Java 1.6. Mit dem folgenden werden alle statischen Elemente der Klasse "Classname" direkt in die eigene Klasse eingebaut, man kann sie also nutzen als wären sie Teil der eigenen Klasse.
Code:
importstatic packet.Classname.*;
Folglich kann man so OpenGL in Java wahrscheinlich genauso benutzen wie auch in C++ oder Delphi.
Ohne jetzt auch nur eine der beiden APIs zu kennen, statische Methoden/Attribute haben den Vorteil das man einen static-include machen kann, ein relativ unbekanntes Feature von Java 1.6. Mit dem folgenden werden alle statischen Elemente der Klasse "Classname" direkt in die eigene Klasse eingebaut, man kann sie also nutzen als wären sie Teil der eigenen Klasse.
Code:
importstatic packet.Classname.*;
Folglich kann man so OpenGL in Java wahrscheinlich genauso benutzen wie auch in C++ oder Delphi.
Ja das stimmt und ist entsprechend möglich. Allerdings sollte man nie ein static import auf die gesamte Klasse machen. Während der Entwicklung ist es ok, aber vor dem Deploy oder Release empfiehlt es sich über die Refactoring Funktionen der IDE den Static Import auf die jeweils verwendeten Methoden zu begrenzen.
Denn sonst bläht man nur unnötig den ClassLoader auf.
Allerdings muss man auch mit Static Import noch darauf achten das man bei gleichnamigen Klassen alle weiteren Vorkommnisse mit ihrem voll qualifizierten Package/Class-Namen anspricht.
Grund: LWJGL in meinem Projekt eingebunden -> Fehler über Fehler, kann nichts angezeigt bekommen auch nicht die heruntergeladenen Beispiele, scheint noch andere Bindings zu benötigen also kompletter Mist auf den ersten Blick (auch ältere Versionen ausprobiert, JInput kann auch nicht allein getestet werden, weil es ein Fenster erfordert. Da es unter anderem auch mit DirectInput arbeitet, DirectInput erfordert jedoch kein Fenster -.-). Und übrigens ist es absolut nicht light weighted sondern HEAVY weighted! JOGL in meinem Projekt eingebunden -> alles läuft einwandfrei auf dem Fenstersystem meiner Wahl (wird nur sound und input aus einem anderen ext benötigen). Eclipse-OpenGL: ist auch eine Alternative, mit statischen OpenGL-methoden aber auch mit SWT, welches ich persönlich nicht mag.
Mein Fazit: JOGL > Eclipse-OpenL > LWJGL
Aber das ist nur der erste Eindruck. Ich arbeite immer noch mit Delphi.
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7804 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
War auch erst bei JOGL. Aber LWJGL ist gut gepflegt und bietet was das Herz begehrt. Du hast vermutlich deinen BuildPath nicht richtig aufgesetzt. Ließ dir mal ein SetUp Tutorial zu LWJGL durch.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Mo Nov 08, 2010 18:41 Beiträge: 769
Programmiersprache: Gestern
Cicaro hat geschrieben:
Also mir gefällt Jogl besser.
Grund: LWJGL in meinem Projekt eingebunden -> Fehler über Fehler, kann nichts angezeigt bekommen auch nicht die heruntergeladenen Beispiele, scheint noch andere Bindings zu benötigen also kompletter Mist auf den ersten Blick (auch ältere Versionen ausprobiert, JInput kann auch nicht allein getestet werden, weil es ein Fenster erfordert. Da es unter anderem auch mit DirectInput arbeitet, DirectInput erfordert jedoch kein Fenster -.-). Und übrigens ist es absolut nicht light weighted sondern HEAVY weighted! JOGL in meinem Projekt eingebunden -> alles läuft einwandfrei auf dem Fenstersystem meiner Wahl (wird nur sound und input aus einem anderen ext benötigen). Eclipse-OpenGL: ist auch eine Alternative, mit statischen OpenGL-methoden aber auch mit SWT, welches ich persönlich nicht mag.
Mein Fazit: JOGL > Eclipse-OpenL > LWJGL
Aber das ist nur der erste Eindruck. Ich arbeite immer noch mit Delphi.
1.) richtige JRE verwenden 2.) LWJGL richtig einbinden 3.) sich freuen wieviel mal es besser als JOGL ist lol
Imho war der Hauptunterschied früher zwischen JOGL und lwjgl der, dass lwjgl eben lightweight war und das native Interface etwas performanter war. Will heißen: lwjgl ist schneller. Kann sein, dass JOGL nachgezogen hat, aber das ist gemutmaßt.
lwjgl bietet nebst OpenGL noch ein paar andere Sachen, die gerade für Spiele interessant sind (wie z.B. OpenAL und JInput).
Und ob man nun ein Object gl.Begin... oder einen static import glBegin... nimmt, ist ja mal sowas von wurscht. Das sind Sachen, die lassen sich auch nachträglich extrem simpel und sehr schnell ändern.
Fazit: Früher war lwjgl schneller als JOGL - vielleicht ist dem noch so, vielleicht ist es mittlerweile egal. Das war jedenfalls früher das Unterscheidungskriterium.
Und lwjgl ist wirklich sehr aktuell. AFAIK ist JOGL ne gute Ecke älter als lwjgl.
_________________ "Für kein Tier wird so viel gearbeitet wie für die Katz'."
Mitglieder in diesem Forum: 0 Mitglieder und 39 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.