2009-04-19 4 views
7

Je suis intéressé par l'apprentissage d'OpenGL et ma langue préférée à l'époque est Java. Puis-je récolter ses avantages complets (ou plus) en utilisant des choses comme JOGL ou devrais-je plutôt me concentrer sur l'acquisition de compétences C++ plus solides?Apprendre OpenGL par Java

Btw, qui est votre bibliothèque de wrappers Java OpenGL et pourquoi?

Répondre

8

JOGL est une bibliothèque de wrapper qui permet à OpenGL d'être utilisé dans le langage de programmation Java. Il est actuellement l'implémentation de référence pour JSR-231 (Java Bindings for OpenGL) alors il devrait être votre premier choix

0

Faites-le en C++, les bits que vous utiliserez seront fondamentalement les mêmes, car il n'y aura pas beaucoup de problèmes avec les pointeurs, ce n'est donc pas un grand saut d'intuition. De plus, les bindings C++ sont plus fiables et (dans mon expérience) le plus rapide de toutes les langauges disponibles (Python en particulier REALLY ne peut pas faire OpenGL). En outre, C++ est toujours une bonne chose à apprendre, il vous fait réfléchir sur les concepts de programmation de manière beaucoup plus détaillée, par opposition à simplement apparaître dans une ArrayList <> ou quelle que soit la classe prédéfinie qui vous convient =]

1

Si vous êtes également intéressé par faire des choses 3D en Java sans vous soucier de tous ces trucs de bas niveau, consultez Java3D. Dans le pire des cas, vous pouvez voir comment ils utilisent OpenGL pour avoir du bon matériel d'apprentissage.

1

si vous voulez vraiment prendre au sérieux à la programmation 3D, vous devez apprendre C/C++, C++ est la norme pour la programmation 3d jeux

+2

Les jeux ne sont pas la seule application commerciale de graphiques 3D, il y a beaucoup d'autres choses, un logiciel de conception de cuisine par exemple? –

3

Je l'ai fait un certain développement OpenGL de base dans Delphi et Java ainsi. J'ai utilisé JOGL, comme mentionné dans les réponses des autres, et je dois conclure que même s'il y a très peu de différence dans la programmation OpenGL en Java en utilisant JOGL et en programmant OpenGL dans d'autres langages (Delphi, C++, etc ...) sens bien. Il me rend fou de le mettre tout correctement puis écrire des trucs comme

gl.glBegin (GL.GL_QUADS) 

il semble y avoir beaucoup de superfuous gl, GL, GLU à écrire et il est de votre chemin. Aussi, la performance serait, je crois, beaucoup mieux si vous avez utilisé C++ ou similaire, pas Java. Je ne dis pas non plus JOGL (Java + OpenGL), ça peut être fait, et ce n'est vraiment pas trop différent, mais ... comme je l'ai dit. Essayez C++ si vous le pouvez.

+0

imho gl, GL, GLU n'est pas superflu puisqu'ils permettent de traduire directement en Java leur code C ou tutoriel – dfa

+0

Je veux dire, je préfère appeler glBegin (GL_QUADS) au lieu de gl.glBegin (GL.GL_QUADS) :) –

+1

puis utiliser " importer statique ":-) – LordOfThePigs