Primera versión alfa de librería de graficación OpenGL para Java

Después de meses de trabajo, me he dado el tiempo en estos días de aprender a utilizar el OpenGL desde Java. Hace varios meses, durante mis estudios de pasgrado, tuve la necesidad de graficar grandes cantidades de datos (entre cienmil y dos millones de registros) repartidos en varios grupos, es decir, que cada grupo tenía que diferenciarse del resto aplicando un color distinto a cada grupo. Por esos días, tenía también la presión de terminar mi trabajo de investigación, dejando de lado el problema de la graficación para enfocarme a aspectos más inherentes a la tesis que estaba realizando.

Finalmente, en estos días, en el tiempo que he estado "descansando" he visto las bases sobre las cuales trabaja OpenGL y su respectivo uso desde Java a través de la Librería JOGL, disponible en https://jogl.dev.java.net/. Lo que he aprendido ha sido algo muy básico, pero me ha fascinado enormemente puesto que la potencia del OpenGL para la manipulación de grandes cantidades de datos en forma gráfica es impresionante. Por ello es que he empezado con la creación de una librería de graficación basada en OpenGL utilizando el lenguaje Java pero con el añadido de que quienes la usen, no tengan que pelearse directamente con OpenGL. La version actual es pa primer alfa y en principio esta reducida a un par de funcionalidades simples, como la de graficar varios conjuntos de datos (representados por puntos) en un plano bidimensional. Las pruebas que he realizado me han animado a llevar su desarrollo a funcionalidades mucho más avanzadas de las básicas que ahora posee. Con esta librería me he hecho la graficación de millón y medio de registros almacenados en una tabla MySQL y el resultado ha sido muy bueno. Menos de medio segundo para pintar todos los datos.

 
Sin embargo, espero en un medio plazo (en Diciembre de este 2010 aproximadamente), implementar la graficación en 3D así como la posibilidad de desplazarse y efectuar acercamiento/alejamiento sobre el gráfico.

Es necesario recalcar, que puesto que se utililza la aceleración gráfica, esta librería basará su eficiencia también en el dispositivo gráfico que tengais en vuestra computadora. En mi caso, tengo una NVidia GeForce 8800GTS instalada en el cacharro de la casa, que es donde realizo estas pruebas.

Por ahora, como mencioné antes, pongo a vuestra disposición la librería, así como el código fuente y código de ejemplo.

La librería y su código fuente, incluida la librería JOGL podeís descargarla de aquí.
El  código de ejemplo así como el compilado bájalo de aquí.

Sobre la instalación y configuración de la librería JOGL, visita  este enlace.

Aquí una pantalla de la aplicación de ejemplo:

Y aquí una mostrando casi millón y medio de puntos extraidos desde una tabla MySQL:

Y aquí... El mismo conjunto de datos, pero ahora dividido en 5 clusters o grupos de datos utilizando el algoritmo de clusterización K-Means: