1 / 17

JAVA OPENGL

(JOGL). JAVA OPENGL.

marvin
Download Presentation

JAVA OPENGL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. (JOGL) JAVA OPENGL

  2. Java OpenGL (JOGL) es una biblioteca que permite acceder a OpenGL mediante programación en Java. Actualmente está siendo desarrollado por el GameTechnologyGroup de Sun Microsystems, y es la implementación de referencia para JSR-231 (Java BindigsforOpenGL). • 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. INTRODUCCIÓN

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

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

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

  6. EventListener-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. • GLDrawableesuna interface. Todos los dibujos de JOGL de OpenGL drawing pasaran en GLDrawables. FUNCIONAMIENTO

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

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

  9. 1. InicieNetBeans y entre en el menu Tools|Plugins. • 2. Presione el botón add y elija la opciónDownloadedplugins list y presioneInstall. IMPLEMENTACIÓN

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

  11. 4. Cambie a la pestaña de Available Plugins, busque OpenGL y verifiqueque se encuentrantodos los paquetesque se quiereninstalar. • 5. Finalice la instalación presionando Install. implementación

  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. Este programa dibuja una pirámide 3D mediante JOGL. EJEMPLO

More Related