Error de ejecución JOGL con NetBeans

 

jogljava

Una de las mejores maneras, sino la mejor, de poder utilizar OpenGL en Java es el uso de la librería JOGL. En la sencillez de su planteamiento radica su potencia, ya que se podría decir lo único que hace es mapear la gran mayoría de las funciones nativas de OpenGL de manera que puedan ser utilizadas de la misma manera que en C o C++ pero en Java. Por ejemplo, lo que en C podría ser el dibujo de una línea:

glBegin(GL.GL_LINES);
    glVertex3f(1.0f,0.0f,0.0f);
    glVertex3f(4.0f,1.0f,0.0f);
glEnd();

en Java quedaría como:

GL gl = drawable.getGL();

gl.glBegin(GL.GL_LINES);
    gl.glVertex3f(1.0f,0.0f,0.0f);
    gl.glVertex3f(4.0f,1.0f,0.0f);
gl.glEnd();

Desde entornos como NetBeans podemos acceder a plugin que además de proporcionar la librería, instalan asistentes, ejemplos e incluso componentes preparados para que se pueda dibujar sobre ellos directamente como es GLCanvas. Generalmente su uso es sencillo (independientemente de la complejidad de OpenGL), pero en ocasiones surgen problemas de ejecución debidos a la no localización de la librería nativa de OpenGL con la que se hace el mapeo. En estos casos el error que suele aparecer es similar a:

java.lang.UnsatisfiedLinkError: no gluegen-rt in java.library.path

en el que se nos indica que no se ha podido enlazar con la librería nativa (es decir, la de cada SO) correspondiente. La solución suele venir por la indicación de manera explícita a la máquina virtual de donde está ubicada esa librería nativa. En ese caso lo primero es localizar su ubicación. Si estamos trabajamos con NetBeans y hemos instalado el plugin de JOGL, las liberias se suelen encontrar en una carpeta oculta dentro de la carpeta del usuario. Por ejemplo en Linux en /home/usuario/.netbeans/7.0 y allí distribuidas por librería y plataforma. En este caso (Linux sobre amd64) el parámetro necesario para la ejecución correcta sería

-Djava.library.path=/home/usuario/.netbeans/7.0/gluegen-runtime/gluegen-rt.jar-natives-linux-amd64

Este parámetro puede ser añadido desde Run/Set Project Configuration/Customize y en esa ventana dentro de las opción VM Options. Aún así es probable que siga apareciendo el error :(. Si es así lo más probable sea que en el fichero de propiedades del proyecto la plataforma no este bien configurada (cosa muy habitual si trabajamos en plataformas distintas). Para ello no hay más que editar nbproject/private/config.properties y cambiar la propiedad natives.platform por aquella que en esos momentos estemos utilizando.

+info: JOGL
+info: OpenGL pack for NetBeans 

 

Tags: , ,

Compartir en Facebook Compartir en Twitter

Dejar un comentario

XHTML: Puedes usar estos tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>