+ All Categories
Home > Documents > JAVA OPENGL

JAVA OPENGL

Date post: 08-Jan-2016
Category:
Upload: marvin
View: 58 times
Download: 0 times
Share this document with a friend
Description:
(JOGL). JAVA OPENGL. - PowerPoint PPT Presentation
17
(JOGL)
Transcript
Page 1: JAVA OPENGL

(JOGL)

Page 2: JAVA OPENGL

Java OpenGL (JOGL) es una biblioteca que permite acceder a OpenGL mediante programación en Java. Actualmente está siendo desarrollado por el Game Technology Group de Sun Microsystems, y es la implementación de referencia para JSR-231 (Java Bindigs for OpenGL).

JOGL permite acceder a la mayoría de características disponibles para los programadores de C, con la excepción de las llamadas a ventanas realizadas en GLUT (ya que Java contiene sus propios sistemas de ventanas, AWT y Swing), y algunas extensiones de OpenGL.

Page 3: JAVA OPENGL

La API OpenGL, escrita en C, es llamada por JOGL gracias a la Java Native Interface (JNI). Por tanto, el sistema en el que se está programando debe tener soporte para OpenGL para que pueda funcionar JOGL correctamente.

JOGL se diferencia de otras bibliotecas Java para OpenGL en que simplemente expone las funciones de la OpenGL, basadas en un lenguaje procedural (lenguaje C), por medio de métodos contenidos en unas pocas clases, en lugar de intentar realizar un mapeo completo del código OpenGL para transformarlo y adaptarlo al paradigma de orientación a objetos.

Page 4: JAVA OPENGL

Esta decisión en el diseño tiene sus ventajas y sus desventajas. La naturaleza procedural y de máquina de estados de OpenGL es inconsistente con la forma habitual de programar en Java, lo cual puede dejar perplejos a muchos programadores. Sin embargo, la conversión directa realizada de las funciones OpenGL a métodos Java, permite la conversión del código de aplicaciones C ya existentes mucho más simple.

Page 5: JAVA OPENGL

Las clases que se involucran en el funcionamiento de JOGL son las siguientes:

     GLDrawable      GLCanvas      GLJPanel      GLCapabilities      GLDrawableFactory

Estas son la interfaz básica que está en el mundo de los gráficos. En esta parate hay que recordar que un inconveniente de trabajar con OpenGL es que el sistema de ventanas se lleva con GLUT, por lo que es homologo a C, entonces para JOGL tenemos AWT y Swing.

Page 6: JAVA OPENGL

Event Listener-Model: Este es el modelo que utiliza Java para responder a las acciones del usuario. A veces se utiliza hilo de comunicación dentro de programas. A veces no son eventos generados por el usuario en absoluto. Dentro de este modelo, el GLEventListener, nos proporciona el Listener de java, como medio de comunicación en el momento de que se quiera empezara dibujar.

GLDrawable es una interface. Todos los dibujos de JOGL de OpenGL drawing pasaran en GLDrawables.

Page 7: JAVA OPENGL

GLCanvas y GLJPanel ambas son clases que implementa GLDrawable. Tanto como en el programa esten involucrados todo el GLCanvases y todo el GLJPanels no habra problemas enla ejecución de los programas. Este es el polimorfismo. El GLDrawables empezara a pasar con el GLEventListeners.

Page 8: JAVA OPENGL

El diagrama siguiente muestra el funcionamiento en un diagrama UML de JOGL, donde se observa como se mezclan las distintas clases que se mostraron en el funcionamiento del JOGL

Page 9: JAVA OPENGL

1. Inicie NetBeans y entre en el menu Tools|Plugins. 2. Presione el botón add y elija la opción

Downloaded plugins list y presione Install.

Page 10: JAVA OPENGL

3. Vaya a la pestaña de Settings y asegúrese de que el centro de actualizaciones este habilitado.

Page 11: JAVA OPENGL

4. Cambie a la pestaña de Available Plugins, busque OpenGL y verifique que se encuentran todos los paquetes que se quieren instalar.

5. Finalice la instalación presionando Install.

Page 12: JAVA OPENGL
Page 13: JAVA OPENGL

Clase GLUT

Constructor:

public GLUT()

Métodos:

public void glutWireSphere(double radius, int slices, int stacks) public void glutSolidSphere(double radius, int slices, int stacks) public void glutWireCone(double base, double height, int slices, int stacks) public void glutSolidCone(double base, double height, int slices, int stacks) public void glutWireCylinder(double radius, double height, int slices, int stacks) public void glutSolidCylinder(double radius, double height, int slices, int stacks) public void glutWireCube(float size) public void glutSolidCube(float size) public void glutWireTorus(double innerRadius, double outerRadius, int nsides, int rings) public void glutSolidTorus(double innerRadius, double outerRadius, int nsides, int rings)

Page 14: JAVA OPENGL

Clase GLU

Constructor:

public GLU()

Métodos:gluNewQuadric()

gluLookAt(double eyeX, double eyeY, double eyeZ, double centerX, double centerY, double centerZ, double upX, double upY, double upZ)

gluCylinder(GLUquadric quad, double base, double top, double height, int slices, int stacks)

Page 15: JAVA OPENGL
Page 16: JAVA OPENGL
Page 17: JAVA OPENGL

Este programa dibuja una pirámide 3D mediante JOGL.


Recommended