Quel est le meilleur OpenGL en java de liaison?
Je suis en train d'essayer d'obtenir de meilleures performances pour mon Java SWT application, et je viens de constater qu'il est possible d'utiliser OpenGL dans la SWT. Il semble qu'il y a plus d'un Java de liaison pour l'OpenGL. Lequel préférez-vous?
Noter que je n'ai jamais utilisé OpenGL avant, et que l'application a besoin pour fonctionner sur Windows, Linux et Mac OS X.
OriginalL'auteur |
Vous devez vous connecter pour publier un commentaire.
JOGL
Mes raisons peuvent être indiqués hors précédemment lié à un site de:
Aussi, si vous voulez avoir du plaisir de l'apprentissage et de fouiller, Traitement est une excellente façon de commencer (Traitement utilise également JOGL btw...)
JOGL fournit un accès complet à l'Api OpenGL 1.3 - 3.0, 3.1 - 3.3, ≥ 4.0, 1 ES.x et ES 2.x spécification ainsi que presque tous les fournisseur d'extensions. Il s'intègre avec l'AWT et Swing widget établit, ainsi, avec la coutume de fenêtrage, des trousses d'outils à l'aide de la classe NativeWindow API. Il fait partie d'une suite de technologies open source initié par le Jeu de la Technologie de Groupe chez Sun Microsystems. jogamp.org/jogl/www
OriginalL'auteur eferm
Je vous suggère de vérifier LWJGL, le Léger Jeu Java Bibliothèque. Il a OpenGL liaisons, mais il a aussi OpenAL liaisons et des tutoriels pour vous aider à démarrer.
Il suffit de garder à l'esprit que Swing/SWT et OpenGL sont généralement utilisés pour des choses totalement différentes. Vous pourriez vous retrouver vouloir utiliser une combinaison des deux. Juste essayer de LWJGL et de voir comment il s'intègre avec ce que vous faites.
OriginalL'auteur ReaperUnreal
JOGL est probablement la seule option à considérer.
Remarquez qu'il y a au moins deux options pour l'intégrer dans une application SWT. Il y a un GLCanvas qui appartient à SWT et un GLCanvas qui appartient à l'AWT.
L'un dans SWT n'est pas complète et n'est pas bien maintenu. C'est beaucoup mieux d'utiliser l'AWT GLCanvas à l'intérieur d'un SWT_AWT conteneur.
Un peu de code à partir d'un projet récent:
Était complètement d'accord, cela a été mon expérience en tant que bien.
- Percés, je vous rappelle que JOGL a été activement maintenu par la JogAmp communauté sans Oracle/Sun depuis 2010.
OriginalL'auteur shoosh
JOGL vous donnera de meilleures performances et de portabilité. Mais il faut être conscient que l'apprentissage de JOGL, qui est essentiellement le même que l'apprentissage d'OpenGL, n'est pas facile.
OriginalL'auteur
Personnellement, je ne suis même pas au courant de Java liaisons pour OpenGL autres que JOGL -- je pense que JOGL est à peu près la norme OpenGL pour Java.
Il fonctionne sous Windows, Linux et OS X, mais vous voudrez peut-être lire sur la documentation officielle pour quelques notes au sujet de questions spécifiques à chaque plate-forme.
Gardez à l'esprit que l'OpenGL paradigme est tout à fait différent de Swing/AWT ou le Java API 2D; OpenGL n'est pas une baisse-dans le remplacement pour le Swing.
OriginalL'auteur Rob Dickerson
Nous avons eu beaucoup de chance au travail à l'aide de JOGL. La nouvelle version 2.0 est à http://jogamp.org/ (le dernier "vieille" version est à http://download.java.net/media/jogl/builds/archive/jsr-231-1.1.1a/).
Pour JOGL 2 avec SWT plus précisément, j'ai une série de tutoriels de départ à http://wadeawalker.wordpress.com/2010/10/09/tutorial-a-cross-platform-workbench-program-using-java-opengl-and-eclipse/ qui montre exactement comment faire de croix-plate-forme de JOGL SWT applications, installer des binaires natifs.
Ou si vous ne souhaitez pas utiliser Eclipse RCP, voici un moyen encore plus simple exemple qui attire tout d'un triangle avec JOGL 2 et SWT. Pour le construire, de le mettre dans un projet avec swt.jar (à partir de http://www.eclipse.org/swt/) et la dernière JOGL autobuild .jar et .les fichiers dll (à partir de http://jogamp.org/). Le seul problème avec cet exemple simple est qu'il ne sera pas de la croix-plate-forme, sans une aide supplémentaire -- vous avez besoin de la capacité qu'Eclipse RCP vous donne de regrouper plusieurs jeux de plate-forme de bibliothèques ensemble dans un même projet.
OriginalL'auteur