Atom Blog

Como dibujar triangulos en OpenGL en Java Netbeans 7.1


En este nuevo post veremos como utilizar la funcion GL_TRIANGLES en opengl en Java utilizando netbeans 7.1 para dibujar triangulos de diferentes tamanos y colores.

Antes que nada es importante saber que para poder utilizar opengl en netbeans se debe tener instalado el plugin que permite hacer esto.

Para poder utilizar opengl en netbeans seguir el siguiente enlace:
Como Agregar Plugin de OpenGL a Netbeans.

Nuestra aplicacion dibuja una sencilla figura en opengl en netbeans, la cual esta compuesta por algunos triangulos de diferentes tamanos y colores.

La aplicacion contiene un metodo llamado: dibujaTriangulo(), el cual se encarga de dibujar un triangulo especifico. Este metodo es llamado varias veces desde el metodo display(), el mismo que se encarga de dibujar figuras sobre la ventana de opengl.

A traves del metodo gl.glRotatef() se puede rotar el mismo triangulo llamando al metodo que lo dibuja.
A traves del metodo gl.glScalef() se puede redimensionar el tringulo llamando al metodo que lo dibuja.
A traves del metodo gl.glColor3f() se puede cambiar el color a los triangulos llamando al metodo que lo dibuja.

De esta manera se puede dibujar un sin numero de triangulos de diferente tamano, color y orientacion con una sola llamada al metodo dibujaTriangulo().

El codigo del metodo que se encarga de dibujar el triangulo es el siguiente:

 private void dibujarTriangulo(GLAutoDrawable drawable){
        GL gl = drawable.getGL();
        
        gl.glBegin(gl.GL_TRIANGLES);
            //Establece los vertices del triangulo
            gl.glVertex3f(-2.5f, -2.0f, 0.0f);
            gl.glVertex3f(2.5f, -2.0f, 0.0f);
            gl.glVertex3f(0.0f, 2.0f, 0.0f);
        gl.glEnd();
    }

El codigo utilizado para el proyecto es el siguiente:


La salida de nuestra aplicacion quedara de la siguiente manera:

Si deseas descargar el proyecto completo click en la siguiente imagen:

No te olvides de comentar!!






1 comentario:

  1. chico yo quiero hacer uno con r.drawOval(10,10 50,50); pero en lugar de un circulo un triangulo

    ResponderBorrar