2009-04-19 12 views
7

Ich habe Interesse an Lernen OpenGL und meine Lieblingssprache an der Zeit ist Java. Kann ich seine vollen (oder die meisten) Vorteile nutzen, indem ich Dinge wie JOGL nutze, oder sollte ich mich stattdessen darauf konzentrieren, stärkere C++ - Fähigkeiten zu erlangen?Learning OpenGL durch Java

Btw, die Ihre Java OpenGL-Wrapper-Bibliothek der Wahl ist und warum?

Antwort

8

JOGL ist eine Wrapper-Bibliothek, die OpenGL in der Programmiersprache Java verwendet werden kann. Es ist derzeit die Referenzimplementierung für JSR-231 (Java Bindings for OpenGL) so sollte es Ihre erste Wahl sein

0

Tun Sie es in C++, die Bits, die Sie verwenden werden im Grunde genommen die gleichen sein, weil es nicht viel Unordnung mit Zeigern sein wird, Es ist also kein großer Sprung der Intuition. Außerdem sind die C++ - Bindungen zuverlässiger und (meiner Erfahrung nach) die schnellste aller verfügbaren Sprachen (insbesondere Python kann wirklich OpenGL nicht).

Auch C++ ist immer eine gute Sache zu lernen, es macht Sie über Programmierkonzepte viel mehr im Detail, im Gegensatz zu nur in einer ArrayList <> oder was auch immer vorgefertigten Klasse Art-of-dient Ihren Zwecken =]

1

Wenn auch Sie daran interessiert sind nur 3D-Sachen in Java tun alles über die Low-Level-Zeug, ohne sich Gedanken Besuche Java3D.

Im schlimmsten Fall können Sie sehen, wie sie OpenGL für einige gute Lernmaterialien nutzen.

1

wenn Sie wirklich ernst Sie bei 3D-Programmierung erhalten möchten haben C/C++, C++ ist der Standard für die Programmierung von 3D-Spiele

+2

Spiele sind nicht die einzige kommerzielle Anwendung von 3D-Grafiken, es gibt viele andere Dinge, Küche-Design-Software zum Beispiel ist? –

3

ich getan habe einige grundlegende OpenGL Entwicklung in Delphi und Java als auch zu lernen. Ich habe JOGL verwendet, wie in den Antworten anderer erwähnt, und ich muss daraus schließen, dass, obwohl es nur wenig Unterschiede bei der Programmierung von OpenGL in Java mit JOGL und der Programmierung von OpenGL in anderen Sprachen (Delphi, C++, etc) gibt fühlt sich richtig an. Es machte mich verrückt, es zu setzen alles richtig und dann Sachen wie

gl.glBegin (GL.GL_QUADS) 

schreiben es scheint eine Menge von superfuous gl, GL, GLU zu sein geschrieben werden und es wird nur im Weg. Auch die Leistung wäre, glaube ich, viel besser, wenn Sie C++ oder ähnliches, NICHT Java benutzen würden.

Ich sage nicht, Hände weg von JOGL (Java + OpenGL), es kann getan werden, und es ist wirklich nicht so anders, aber ... wie gesagt. Gib C++ einen Versuch, wenn du kannst.

+0

imho gl, GL, GLU ist nicht überflüssig, da sie erlauben, in Java ihren C-Code oder Tutorial direkt zu übersetzen – dfa

+0

Ich meine, ich bevorzuge glBegin (GL_QUADS) anstelle von gl.glBegin (GL.GL_QUADS) :) –

+1

dann verwenden Sie " statisch importieren ":-) – LordOfThePigs