2009-04-19 8 views
7

Estoy interesado en aprender OpenGL y mi idioma favorito en ese momento es Java. ¿Puedo obtener todos sus beneficios (o la mayoría) usando cosas como JOGL o debería centrarme en obtener habilidades de C++ más fuertes?Aprendizaje OpenGL a través de Java

Btw, ¿cuál es su biblioteca Java OpenGL de elección y por qué?

Respuesta

8

JOGL es una biblioteca contenedora que permite utilizar OpenGL en el lenguaje de programación Java. Actualmente es la implementación de referencia para JSR-231 (Java Bindings for OpenGL), por lo que debe ser su primera opción

0

Hazlo en C++, los bits que usarás serán básicamente los mismos, porque no habrá demasiados problemas con los punteros, así que no es un gran salto de intuición. Además, los enlaces C++ son más confiables y (en mi experiencia) el más rápido de todos los lenguajes disponibles (Python, en particular, REALMENTE no puede hacer OpenGL).

Además, C++ siempre es algo bueno de aprender, te hace pensar en conceptos de programación con mucho más detalle, en lugar de simplemente apareciendo en un ArrayList <> o cualquier clase preconstruida que sirva a tus propósitos =]

1

Si también está interesado en simplemente hacer cosas 3D en Java sin preocuparse por todas esas cosas de bajo nivel, consulte Java3D.

En el peor de los casos, puede ver cómo aprovechan OpenGL para obtener un buen material de aprendizaje.

1

si realmente quiere tomar en serio a la programación en 3D que tiene que aprender C/C++, C++ es el estándar para los juegos de la programación en 3D

+2

Los juegos no son la única aplicación comercial de gráficos 3D, hay muchas otras cosas, software de diseño de cocina, por ejemplo? –

3

que he hecho un poco de desarrollo básico de OpenGL en Delphi y Java también. Usé JOGL, como se menciona en las respuestas de otros, y debo concluir que, aunque hay muy poca diferencia en la programación de OpenGL en Java usando JOGL y la programación de OpenGL en otros idiomas (Delphi, C++, etc.), simplemente no funciona. sentirse bien. Me estaba volviendo loco para configurar todo correctamente y luego escribiendo cosas como

gl.glBegin (GL.GL_QUADS) 

parece que hay una gran cantidad de superfuous gl, GL, GLU a ser escrita y que sólo se pone en su camino. También creo que el rendimiento sería mucho mejor si usaras C++ o similar, NO Java.

No digo manos libres de JOGL (Java + OpenGL), se puede hacer, y realmente no es muy diferente, pero ... como dije. Prueba C++, si puedes.

+0

imho gl, GL, GLU no es superfluo ya que permiten traducir directamente en Java su código C o tutorial – dfa

+0

Quiero decir, prefiero llamar a glBegin (GL_QUADS) en lugar de gl.glBeintear (GL.GL_QUADS) :) –

+1

y usar " importar estática ":-) – LordOfThePigs