Creacion de una linea de 45° grados usando OpenGL Java
Enviado por John0099 • 22 de Diciembre de 2017 • 1.254 Palabras (6 Páginas) • 472 Visitas
...
Desarrollo de la Aplicación en Netbeans
Código Fuente: de la class Linea45Grados
package org.yourorghere;
//A continuacion se listan todos los paquetes que se importaron de las
//diferentes librerias para realizar la practica.
import com.sun.opengl.util.Animator;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.HeadlessException;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.media.opengl.GL;
import javax.media.opengl.GLAutoDrawable;
import javax.media.opengl.GLCanvas;
import javax.media.opengl.GLEventListener;
import javax.media.opengl.glu.GLU;
/**
*
* @author José Hugo Sánchez Estrella INSTITUTO TECNOLOGICO de CELAYA
* Materia:Graficación Profesor:ISC. RICARDO GONZÁLEZ GONZÁLEZ Practica 1
*/
/*
Puesto que utilizaremos una ventana, como primer paso habra que
heredar de la clase Frame, lo que nos permitira crear objetos que
tengan las caracteristicas de un Frame.
Ademas tambien implementamos la clase abstracta GLEEventListener y todos sus
metodos.
*/
public class Linea45Grados extends Frame implements GLEventListener {
public Linea45Grados() throws HeadlessException {
/*
Super: Aunque puede usarse para diferentes motivos, en este caso solo
se utilizara para darle un titulo al Frame, es como el constructor del
Frame
*/
super("Linea de 45° en OpenGL");
/*
Instanciamos un nuevo objeto del tipo GLCanvas que sera nuestro lienzo,
lo llamamos a_Canvas.
*/
GLCanvas a_Canvas = new GLCanvas();
/*
Intancia de un objeto Dimension, solo por comodidad, para futuras
definiciones de tamaño
*/
Dimension a_tam = new Dimension(640, 550);
/*
A nuestro canvas(lienzo) le agregamos el listtenner ó escuchador de
eventos, recibe como parametro "this" que hace referencia a nuestro
objeto de clase Frame llamado Linea45Grados que implemento los metodos
del GLEventLitener.
*/
a_Canvas.addGLEventListener(this);
/*
Agregamos nuestro canvas al frame.
*/
this.add(a_Canvas);
/*
Cambiamos el tamaño parametrisando el metodo setsize con el objeto
dimension que creamos arriba.
*/
this.setSize(a_tam);
/*
La clase Animator crea un subproceso en segundo plano en el que las
llamadas a la display() se llevan a cabo.
Después de cada estirable se ha vuelto a trazar,
una breve pausa se ??realiza para evitar inundar la CPU,
a menos setRunAsFastAsPossible(boolean) ha sido llamado.
Instanciamos un objeto de la clase Animator llamado a_animador, que por
lo que entiendo es una especie de controlador para evitar sobregargar el
CPU.
Es del contexto final lo que nos indica que sera constante, por lo que
no podremos cambiarla despues de haberla declarado y asignado un valor.
*/
final Animator a_animador = new Animator(a_Canvas);
/*
Agregamos el escuchador de eventos de Ventana a nuestro Frame.
*/
this.addWindowListener(new WindowAdapter() {
/*
Como solo agregamos un adapter, podemos solo utilizar uno de los
metodos del windowlistener
En este caso usaremos el windowClosing que controla el evento de
cierre de una ventana
*/
public void windowClosing(WindowEvent e) {
/*
En esta parte del codigo se ejecutara un hilo que
...