La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

(JOGL) JAVA OPENGL.

Presentaciones similares


Presentación del tema: "(JOGL) JAVA OPENGL."— Transcripción de la presentación:

1 (JOGL) JAVA OPENGL

2 INTRODUCCIÓN 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.

3 DISEÑO 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.

4 DISEÑO 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.

5 FuNCIONAMIENTO 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.

6 FUNCIONAMIENTO 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.

7 FUNCIONAMIENTO 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.

8 FUNCIONAMIENTO 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

9 IMPLEMENTACIÓN 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.

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

11 implementación 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.

12 implementación

13 Clases y métodos 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)

14 Clases y métodos 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)

15

16

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


Descargar ppt "(JOGL) JAVA OPENGL."

Presentaciones similares


Anuncios Google