lunes, 17 de febrero de 2014

Generación de cuadrados y triangulos

---Generación de cuadrados---

static void display(void)
{
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glClear(GL_COLOR_BUFFER_BIT);

    glLineWidth(1);//tamaño de la linea

    glBegin(GL_QUADS);//se define la figura primitiva a crear

for(float i=-1;i<=1;i+=0.1){

         glColor3f(1, i, i);
         glVertex2f(-1+i, 1-i);
         glVertex2f(1-i, 1-i);
         glVertex2f(1-i, -1+i);
         glVertex2f(-1+i, -1+i);
}

                    glEnd();
                    glFlush();
}

int main(int argc, char** argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
    glutInitWindowSize(600,600);
    glutInitWindowPosition(0,0);
    glutCreateWindow("Clase 3");
    glutDisplayFunc(display);
    glutMainLoop();

    return EXIT_SUCCESS;
}


---Generación de triángulos---

static void display(void)
{
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glClear(GL_COLOR_BUFFER_BIT);

    glLineWidth(1);//tamaño de la linea

    glBegin(GL_TRIANGLES);//se define la figura primitiva a crear

for(float i=-1;i<=1;i+=0.1){

         glColor3f(2, i, i);
         glVertex2f(0.0, 1-i);
         glVertex2f(1-i, -1+i);
         glVertex2f(-1+i, -1+i);
}

                    glEnd();
                    glFlush();
}

int main(int argc, char** argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
    glutInitWindowSize(600,600);
    glutInitWindowPosition(0,0);
    glutCreateWindow("Clase 4");
    glutDisplayFunc(display);
    glutMainLoop();

    return EXIT_SUCCESS;
}


Matrices de puntos y lineas

---Código de matrices de puntos---

static void display(void)
{

    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glClear(GL_COLOR_BUFFER_BIT);
    glPointSize(10);
    glColor3f(1.0,0.0,0.0);
    glBegin(GL_POINTS);

        for(float x=-1.0;x<=1.0;x+=0.1){
            for(float y=-1.0;y<=1.0;y+=0.1){

                        glVertex2f(x, y);

                    }
                }
                    glEnd();
                    glFlush();

                }

int main(int argc, char** argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
    glutInitWindowSize(600,600);
    glutInitWindowPosition(0,0);
    glutCreateWindow("Clase 1");
    glutDisplayFunc(display);
    glutMainLoop();

    return EXIT_SUCCESS;
}


---Código de matrices de lineas---

static void display(void)
{

    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glClear(GL_COLOR_BUFFER_BIT);

    glLineWidth(1);//tamaño de la linea
    glColor3f(1.0,0.0,0.0);//color rojo
    glBegin(GL_LINES);//se define la figura primitiva a crear

     for(float x=-1.0;x<=1.0;x+=0.1){
            for(float y=-1.0;y<=1.0;y+=0.1){

                        glVertex2f(x, y);
                        glVertex2f(x, 0.0);
                        glVertex2f(x, y);
                        glVertex2f(0.0, y);

                    }
                }

        glEnd();
        glFlush();
                }


int main(int argc, char** argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
    glutInitWindowSize(600,600);
    glutInitWindowPosition(0,0);
    glutCreateWindow("Clase 2");
    glutDisplayFunc(display);
    glutMainLoop();

    return EXIT_SUCCESS;
}







jueves, 13 de febrero de 2014

Funciones de OpenGL

Descripciones de algunas funciones de OpenGL

glRotated(): cambia la figura de posición

gluInit(): es la función que inicializa la librería GLUT y negocia con el sistema de ventanas la apertura de una nueva ventana

glutInitWindowSize(): se define el tamaño de la ventana en píxeles (anchura y altura)

glutInitWindowPosition(): la distancia horizontal y vertical con respecto de la esquina superior izquierda del monitor donde la ventana deberá aparecer

glutInitDisplayMode(): define el modo en el que se debe dibujar la ventana

glutCreateWindow(): se crea propiamente la ventana, y el string que se pasa como argumento, es utilizado como nombre de la nueva ventana

glutReshapeFunc(). Esta función callback especifica cuál función será llamada cada vez que la ventana sea re dimensionada o movida, pero también es utilizada para definir inicialmente el área de proyección de la figura en la ventana

glutDisplayFunc(display), define que la función display que es pasada como argumento sea ejecutada cada vez que GLUT determine que la ventana debe ser dibujada (la primera vez que se muestra la ventana) o
redibujada (cuando se maximiza, cuando se superponen varias ventanas, etc).

Con las funciones glEnable(GL_CULL_FACE) y glDisable(GL_CULL_FACE) se muestran o se ocultan las líneas de las caras traseras de la figura

Si quieres obtener más información acerca de las funciones de OpenGL dejo estos links

http://sabia.tic.udc.es/gc/Tutorial%20OpenGL/tutorial/cap2.htm
http://www.widget-101.com/opengl/clase-para-el-despliegue-de-texto-en-opengl-y-c/
http://www.tecnun.es/asignaturas/grafcomp/OpenGL/practica/capitulo1.pdf
http://es.scribd.com/doc/11607446/79/glFrustum#page=7

viernes, 7 de febrero de 2014

Elementos del Software (GUI)

GUI - Interfaz Gráfica de Usuario

¿Por qué pensar en Diseño de interfaces Gráficas y Visuales?

- Mejorar elegancia y simplicidad de un producto.
- Aumentar la percepción de valor de un producto, programa o software.
- Mejorar tiempos operativos de usuarios haciendo a la interfaz gráfica más accesible y amigable.
- Mejorar usabilidad y concepto de un sistema de software.

Si quieres saber mas acerca de sus beneficios, conocer su historia y ver sus principales elementos ingresa al link ;)

Presentación :D ;)

Ventajas e implementaciones de la graficación

Link de la presentación ;)