0% encontró este documento útil (0 votos)
51 vistas4 páginas

Reporte OPNGL

Este documento describe la implementación de una aplicación utilizando la librería Java OpenGL (JOGL). Se presentan tres clases que muestran funcionalidades básicas como dibujar figuras geométricas, y más avanzadas como animar un cubo y aplicar texturas. También incluye los requisitos para incluir JOGL en un proyecto de Eclipse.

Cargado por

Yuriria Coronado
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
51 vistas4 páginas

Reporte OPNGL

Este documento describe la implementación de una aplicación utilizando la librería Java OpenGL (JOGL). Se presentan tres clases que muestran funcionalidades básicas como dibujar figuras geométricas, y más avanzadas como animar un cubo y aplicar texturas. También incluye los requisitos para incluir JOGL en un proyecto de Eclipse.

Cargado por

Yuriria Coronado
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Reporte de Laboratorio

Implementaci
on de una aplicaci
on utilizando OpenGL
Mara del Refugio Garca Chavez
Maestra en Ingeniera,
Universidad Politecnica de Victoria,
Ciudad Victoria, Tamaulipas, Mexico
Java OpenGL es una interfaz de programaci
on de aplicaciones, abierta y multiplataforma que
provee funciones para el dibujado de gr
aficos 2D y 3D; se utiliza para el desarrollo de juegos, y
principalmente en gran parte del desarrollo de aplicaciones profesionales [3]. Este trabajo describe
la experiencia de una implementacion utilizando esta interfaz, empleando esta dentro del marco de
la signatura de Fundamentos de Sistemas de Informaci
on, impartida en el programa de posgrado
de la Universidad Politecnica de Victoria. En calidad estudiante, se requiri
o implementar una
versi
on para la manipulaci
on de gr
aficos que pueden ser empleados en la plataforma Java OpenGL,
como una herramienta de visualizaci
on de gr
aficos; en este contexto, es importante destacar que
la herramienta, ofrece la ventaja del desarrollo de aplicaciones, en un corto periodo de tiempo,
manipulado gr
aficos b
asicos del lenguaje.
I.

INTRODUCCION

La Universidad Politecnica de Victoria cuenta con el


rea de posgrado, donde la asignatura Fundamentos de
a
Sistemas de Informaci
on, se enmarca como optativa, en
el primer cuatrimestre para estudiantes de maestra en
ingeniera, que esten interesados en el
area de tecnologas
o afines, con el objetivo de proveer una introduccion al
area de computaci

on.
Se consider
o que en el grupo de estudiantes que cursan
la materia, exista discrepancia en el nivel de habilidades
para el dominio del curso, es por ello que se opt
o por asignar distintos proyectos con complejidad variable, acorde
a los conocimientos de cada estudiante y con ello equilibrar el dominio del lenguaje Java, siendo este el lenguaje
que se pretende trabajar de primer instancia en el curso.
Este trabajo presenta la experiencia de trabajar con la
librera de Java OpenGL (JOGL) en uno de los proyectos asignados en el curso mencionado, dicho proyecto fue
realizado en un periodo de 3 semanas, con el objetivo de
hacer uso de gr
aficas nativas, aplicar texturas y animaciones a estas mismas.

brera; por mencionar alguno, se encontro el desarrollo de


un framework que implementa una jerarqua de clases que
permite a estudiantes de la Universidad de Jaen Campus
Las Lagunilla, encapsular casi todo lo referente al uso
de JOGL desarrollada por profesores del instituto, esto
tomando en cuenta que se detecto un ndice elevado de
titutulaciones de informatica grafica en la instutci
on [1].
Finalmente es importante destacar que el desarrollo
en graficos por computadora ha mutado a traves de los
a
nos y esta jugando un papel muy importante inclusive
en otras areas como en la ingeniera industrial, ingeniera
de productos, aeronutica, automovilstica, entre otras [4].
Java OpenGL
Portabilidad Multiplataforma
Facilidad de uso Windows
Performance Desarrollo de aplicaciones profesionales

DirecX
Portabilidad Restringido el uso de Microsoft
Facilidad de uso Sus primeras versiones era complejo
de utilizar. Se considera que
a partir de la 9 era facil de usar.

II.

ANTECEDENTES

Existen adem
as de Java OpenGL algunos otros entornos de programaci
on gr
afica, entre los m
as destacados
se encuentra DirectX.
DirectX es una colecci
on de API desarrolladas para
facilitar las complejas tareas relacionadas con multimedia, especialmente programaci
on de juegos y video, en la
plataforma Microsoft Windows.
Por otra parte Java OpenGL que es el m
as extendido
en el desarrollo de aplicaciones profesionales [3]; ofrece a
los usuarios ser multiplataforma [2]. La tabla (I) muestra
una comparativa de estas dos plataformas.
JOGl es ampliamente utilizado en el
ambito estudiantil existen algunos trabajos, relacionados al uso de la li-

Performance Desarrollo de juegos interactivos

TABLE I: Comparativa de OpenGL y DirectX

III.

SISTEMA PROPUESTO

El proyecto desarrollado mediante la librera de JOGL,


se compone de 3 clases, donde cada una de ellas pretende
mostrar desde un nivel basico las formas nativas de la
API hasta un nivel avanzado que muestra en los gr
aficos
movimientos y texturas.
Antes de indagar en cada una de las clases que componen este proyecto, hay que mencionar que cada una de

2
ellas, esta desarrollada en base a la estructura que conforma un programa escrito en Java haciendo uso de las
ya mencionadas libreras.
La estructura (1) muestra los metodos basicos que
deben ser implementados. La interfaz GLEventListener
utiliza cuatro metodos principales los cuales sera necesario declarar dentro de la estructura de nuestro programa para que este funcione correctamente, a continuaci
on se enlista la descripci
on de cada uno de los metodos.
Estructura 1 Definir una clase openGL
import [Link].*;
public class MiClase extends JFrame implements
GLEventListener {
static GL gl;
static GLCanvas canvas;
public MiClase() {}
public void metodo 1() {}
public int metodo 2() {}
public double metodo n() {}
public void init(GLAutoDrawable drawable) {}
public void reshape(GLAutoDrawable drawable, int x,
int y, int anchura, int altura) {}
public void display(GLAutoDrawable drawable) {}
public void displayChanged(GLAutoDrawable drawable,
boolean modeChanged, boolean devChanged) {}
}

este metodo se incluiran los graficos que GLCanvas dibujara y sera llamado cada vez que se le solicite, o bien,
cuando todos los GLEventListeners hayan sido notificados de que ocurrio alg
un evento.
public

void
displayChanged(GLAutodrawable,
boolean modeChanged, boolean deviceChanged)

Este metodo es llamado por drawable cuando ocurre


alg
un cambio en el visualizador (pantalla) asociado con
GLAutoDrawable. Los dos parametros de tipo boolean
indican el tipo de cambio que ha ocurrido.
Lo anteriormente mostrado, es una representaci
on de
la apariencia que tienen cada una de las clases de nuestro
programa escrito en este lenguaje.
Desde el punto de vista de la funcionalidad, los componentes mas relevantes del sistema son los siguientes:
En ese apartado se encapsula
el codigo de OpenGL destinado a la creaci
on de
graficos nativos como triangulos, cuadrados, lineas
y puntos.

Gestion de gr
aficas nativas:

Esta seccion muestra


un grafico avanzado para visualizar un cubo que incorpora ademas metodos para los movimientos del
grafico , en rotacion alrededor de un punto objetivo.

Dise
no de cubo 3D en movimiento:

Esta seccion muestra el dibujado de


una elipse aplicando un estilo de textura.

Gestion de texturas:

Cada una de estas clases que extiende de GLCanvas, se


concentra en un JPanel para ejemplificar cada uno de los
3 modulos, tal como muestra la imagen (1) .

JPanel

public static void main(String[] args) {}

public void init(GLAutodrawable drawable)


Este metodo es llamado por drawable inmediatamente
despues de que el contexto de OpenGL (procedimiento
que realizar
a un objeto GLCanvas) es inicializado. Puede
ser utilizado para la inicializaci
on de los graficos de
OpenGL que GLCanvas utilizar
a tales como el color de
fondo, color de los objetos que se dibujar
an, luces que se
manejar
an, etc.

GLCanvas

GLCanvas

GLCanvas

FIG. 1: Modulos de graficaci


on

public void reshape(GLAutodrawable drawable, int


x, int y, int width, int height)

Este metodo es llamado por drawable durante el primer


redibujado (repaint) y despues de que el componente
se redimensiona (resize). El cliente puede actualizar el
punto de vista (viewport) de los gr
aficos apropiadamente.
public void display(GLAutodrawable drawable)
Este metodo es llamado por drawable para iniciar el renderizado de OpenGL a petici
on del cliente. Dentro de

IV.

RESULTADOS

Como resultado se tienen una aplicacion que muestra


los graficos manipulados en JOGL que, como se menciono anteriormente, el desarrollo de este proyecto traza
figuras manipulando cudrados, triangulos entre otras formas basicas (2). Este entregable incluye tambien el
proyecto desarrollado en el IDE eclipse y un ejecutable
de la aplicacion (RunnableJar).

3
el ejecutable incluye jars que pertenecen a un
sistema de 64 o 32 bits, no ambos.
2. Crear un nuevo Proyecto
(a) Abrir el IDE Eclipse.
(b) Crear un nuevo proyecto seleccionando la
opcion -Archivo - Nuevo -Proyecto.
(c) Abrir la carpeta Java, seleccionar -Proyecto
Java.
(d) Ingresar nombre de proyecto.
FIG. 2: Aplicaci
on desarrollada

A lo largo de este trabajo constantemente se ah mencionado el uso de JOGL, sin embargo el uso de estas libreras requiere de cierta configuraci
on dentro del
proyecto, es por ello que se incluye una seccion de requerimientos, donde se indica como realizar esta tarea.

Requerimientos

Es importane mencionar que para el desarrollo de este


proyecto, es necesario importar las API de JOGL, en
el proyecto, adem
as de la creaci
on de un archivo .jar o
ejecutable, a continuaci
on se enlistan la descripcion de
estos procedimientos:

Incluir API en eclipse

(e) Seleccionar -Finalizar.


3. Agregar los .jar
(a) Hacer clic secundario sobre el proyecto recien
creado y seleccionar propiedades.
(b) Seleccionar desde el menu superior, la opcion
-Librerias.
(c) Seleccionar desde el menu derecho -Agregar
libreria.
(d) Elija la opcion -Libreria de usuario.
(e) Seleccione -Siguiente
(f) Elija del menu superior derecho -Librerias de
usuario y seleccione -Nueva
(g) Ingrese el nombre requerido para la librera.
(h) Seleccione el menu agregar JARs externos

Esta es parte esencial del proyecto, ya que indica la


base de nuestro proyecto. En seguida se enumeran los
pasos para realizar dicho procedimiento.

(i) Seleccione de la carpeta realizada en el paso


1a) las librerias requeridas.
(j) Seleccione Finalizar.

1. Descargar la API
(a) Descargar del sitio [Link]
el archivo jogamp-all-platforms.7z y descomprimir en el directorio requerido de su ordenador.
Usted podr
a observar al descomprimir el
archivo el directorio que se aprecia en la imagen (3), como puede ver existen subdirectorios
en la carpeta lib, estas son llamadas libreras
nativas para la interfaz, las cuales permiten
que nuestras aplicaciones pueden correr en distintas plataformas como Windows, Mac OS,
Linux entre otras.
Hay que tener en cuenta que los nombres
de estos archivos son diferentes para cada
plataforma, entonces estos pueden coexistir
en conjunto para crear una instalacion multiplataforma, sin embargo esto solo es posible si

Apartir de este punto, se pueden ingresar las clase requeridas que implementen GLEventListener, para el funcionamiento de un programa utilizando JOGL.

FIG. 3: Directorio de librerias

4
Crear archivo Jar

1. Abrir el IDE Eclipse.


2. Abrir el proyecto del cual se requiere crear un .jar
3. Seleccionar desde el menu superior la opcion Archivo.

10. Para ejecutar su aplicacion, ingrese la siguiente


linea de comandos, seguida del nombre del runnable
java -jar [Link] , asegure que en la
ubicacion de [Link], se encuentren los
archivos .dll, .so dependiente de la arquitectura de
su sistema (32 o 64 bits), para que el programa
pueda ejecutar con exito.

4. Elegir la opci
on -Exportar.
5. Seleccionar -RunnableJar File.
6. Seleccionar la opci
on -Agregar librerias requeridas
en el Jar generado.
7. Ingrese un nombre para el ejecutable.
8. Eliga la opci
on -Finalizar.
9. Ingrese desde lnea de comandos, a la ubicacion
donde guardo el runnable .jar

[1] Jose M. Noguera Carlos J. Og


ayar, Juan Jose Jimenez.
An extensible framework for teaching computer graphics
with java and opengl. CEIG - Spanish Computer Graphics
Conference, 2013. II
[2] Mateo Torres. Computaci
on gr
afica. [Link].
Retrieved: October 3th, 2014. II

V.

CONCLUSIONES

Las aplicaciones que se pueden desarrollar mediante


JOGL ofrecen sin duda alguna una ventaja competitiva
en el dominio de la herramienta, por su facilidad de
aprendizaje, el volumen informacion que hay en la red,
ademas de que se pueden desarrollar graficos de calidad
considerable en el ambito de la industria.

[3] OpenGL. OpenGL . [Link] Retrieved:


October 3th, 2014. (document), II
[4] Kumar G. Sathyanarayana, K. Evolution of computer
graphics and its impact lisation. Fifth International Conference on., (7066):3237, 2008. II

También podría gustarte