lunes, 29 de octubre de 2012

proyectos desarrollados en blender

http://mango.blender.org/download/

Tears of Steel
 
Película  con animaciones desarrolladas con blender.
 
Blender es un software con licencia pública y open source.
la película Tears of Steel se distribuye bajo la licencia Creative Commons Attribution 3.0
que permite  hacer referencia a ella simpre que se conserven los créditos.
 
la duración es de 12 minutos.
se produce bajo el patrocinio de organizaciones  y   personas que compran la película en  su distribución de caja.
el interes de estas organizaciones es promover el futuro de las animaciones  utilizando software libre.
y no con las alternativas de software costoso.
para más información puede  revisar los siguientes enlaces.
 


guía anexa para examen unidad III

incluya en su estudio para la unidad III las siguientes preguntas

1.      Llene los espacios en blanco  completando los conceptos con las siguientes palabras  

2.      ____________________Se definen por una serie de puntos de control
      3.      ____________________Sólo dos puntos de control (P0 y P1).
      4.      ____________________Tres puntos de control (P0, P1 y P2).
      5.      ____________________Cuatro puntos de control (P0, P1, P2 y P3).

6.      Dibuje un ejemplo de cada  tipo de   curvas Berzier  mencionadas en las preguntas anteriores. 25 pts

a.       ___________
                  b.      ___________
                  c.       ___________
                  d.      ___________



7.      Utilizando el siguiente  dibuje genere los  vértices y código necesario para dibujarlo sin relleno  y tomando encuentra el V0 y  la medida de cada lado.
 

8.      ¿Qué línea  debe cambiar para dibujarlo con relleno?.

      9.      ¿Qué  es el doble bufereo ya para que nos sirve? 
 
10. ¿Qué es el z-bufer   y para que sirve, como se activa en opengl?
11  ¿Qué pasa sí no se activa el z bufer?
 
12.  Describa el funcionamiento del Pipeline de graficación (diagrama )

jueves, 25 de octubre de 2012

 Relleno de polígonos

1 INVESTIGAR: Como se  agregan los rellenos de poligonos en Opengl  y  buscar un ejemplo

2. Investigar los siguientes conceptos y resumirlos  para publicarlos en el blog. pero debera  escribirlos primero en su cuaderno y luego publicar (Entrega publicado en el blog  el martes   30 de octubre )

Tecnicas de sombreado clasicas y avanzadas
Clásicas : iluminación local
Cálculos de iluminación por vértices
      Posterior relleno de triángulos
       • Renderizado en tiempo real

Realistas: iluminación global
  •  Trazado de rayos
  •   Radiosidad
  •   Cálculos de iluminación por pixel
  •   Alto acabado
Sombreado Constante o Plano
Un cálculo para todo el polígono
 Interpolación de Intensidades (Gouraud).
Calcula normales al polígono
Calcula normales a vértices
Calcula intensidad para el vértice
Interpola intensidades
 Interpolación de Normales (Phong).
Calcula normales al polígono
Calcula normales a vértices
Interpola Normal para el pixel
Calcula intensidad para el pixel

Ray-Tracing’
     *Recortado de caras traseras
     Buffer de Profundidad 
  • Buffer de Stencil
  • Buffer de Tranasparencias
  • Fuentes de Color
  •  Luz Ambiente
  • Spotlights (direccionales)
  • Fuentes de Luz Distantes
  • Intensidad Completa .
enlaces sugeridos para consulta:

1. http://cannes.itam.mx/Alfredo/Espaniol/Cursos/Grafica/Sombreado.pdf
2. http://lsi.ugr.es/~curena/doce/vr/pracs.10-11/03/#ilu

    actividad de iluminacion y sombreado

    Con el código de programa  solicitado sobre  iluminacion y sombreado deber ser subido a su blog junto con la pantalla de  ejecución del mismo

    martes, 23 de octubre de 2012

    examen III Graficació 3d

    actividad :  dibujar   la piramide  ( hecha en programas anteriores ) y investigar que hace

      
    glShadelodel(Gl_SMOOTH)
    glShadelodel(Gl_SMOOTH)

    1Aplicarlo al programa de la piramide
    2. hacer que la piramide gire sobre su propio eje( asegurarse  de trasladar los vertices de la piramide de manera  que la punta de piramide este en el eje y)





    incluyendo todo los  temas vistos  hasta el momento  revise lo siguientes enlaces como repaso para el examen
    1. http://black-byte.com/tutorial/transformaciones-en-opengl/
    2. http://black-byte.com/tutorial/transformaciones-en-opengl/2/
    3. http://black-byte.com/tutorial/transformaciones-en-opengl/3/
    incluye  tema de curvas.

    incluir todo lo visto de 3d e incluso comandos de opengl,
    revise tambien todo lo relacionado con el pipeline ( unidades anteriores)
    matrices y vectores
    transformaciones geometricas



    examen Miércoles 31 de Octubre


       

     

    martes, 16 de octubre de 2012

    Aviso Importante

    los programas de la Unidad II deben estar  publicados a mas tardar el miercoles 17 para aporbar la unidad.


    cada unidad se evalúa de la siguiente forma

    50% - examen
    20% tareas
    30% programas

    ----------------------------------------------------------------------------------
    para tener derecho a regularizaciones  deben presentar los programas  solicitados  en las unidades y otros adicionales.

    El objetivo es que  resuelvan los problemas solicitados.( habilidades que deben tener).
    con la investigación y práctica. y de ser necesario solicitando ayuda para comprender los  conceptos.


    por lo tanto.

    para tener derecho a presentar las siguientes unidades deben tener los programas solicitados durante la unidad a presentar de lo contrario  la unidad es no aprobada.


    nota:  en los programas pueden tomar como base  diversos programas para hacer los cambios necesarios  para tener los resultados solciitados, solo  deben asegurarse de que comprenden al 98% lo que significa cada linea de código

    lunes, 15 de octubre de 2012

    EVALUACION UNIDAD ii

    RECORDAR

    EXAMEN = 50%
    proyect=30%            programas  pelota-rebote y problema 2 de examen (4 programas en total)
    Tareas = 20%           todas las investigaciones

    UNIDAD III GRAFICACION 3D

    dibujos 3d y transformaciones geometricas

    de cada uno de los enlaces ejecute los codigos sugeridos como ejemplos

    http://usuarios.multimania.es/ealonsop/glut.html

    corra el codigo de la escena del cubo.
    a) Haga que la esfera gire en su propio eje y
    b) cambie la escala del cubo a la mitad del mismo
    c) mueva el cubo a la izquierda 3 unidades en x

     


    Publique las pantallas en su blog  y  que en el titulo de la ventana sea  su nombre

    entrega  miércoles 17 de octubre

    miércoles, 10 de octubre de 2012

    resolver problema II de examen

    resuelva  : con los  vertices v0=(2,2) v1=(7,2), v2=(7,7) y v3=(2,7) aplicar las transformaciones  traslacion vt=(-2,-2)   scalar vs(.5,.5)   rotacion   de 45 grados


    1. utilizando excel para  obtener los resultados de los vertices despues de cada transformacion, capture la pantalla y  suba a su blog

    a) tomando como base  los vertices  iniciales para cada transformación
    b) tomando  las transformaciones en secuencia, es decir despues de la traslacion a los vertices resultantes aplicar la escal y al resultado aplicar   la rotación.

    2. Debe  diseñal los programas en opengl de las transformaciones  mencionadas a)  y b)


    para poder evaluar la unidad debe entregar los programas el viernes  12 de octubre

    lunes, 8 de octubre de 2012

    Examen Unidad II

    utilizando la operación adecuada  resuelva el siguiente problema
     
     
    Que es proyeccion orthogonal y perspectiva y como se especifica en opengl
    que el algoritmo DDA
    Que es el algoritmo breshemhan
     
    transformaciones  ( escala, traslacion, rotacion en opengl)
     
     
     
    REVISE TODO EL MATERIAL   DE LA UNIDAD( enlaces sugeridos y actividades)
     
     
     
     
     
     
     
     
     
     
     
     

    jueves, 4 de octubre de 2012

    moviendo pelota con el teclado

    el siguiente código  mueve una pelota  utilizando las teclas a,b,i,d y cambia de modo de proyeccion de perspectiva con p  a ortogonal con O

    si aun no termina el  programa de  rebote de pelota  utilize el codigo como base y haga los cambios   necesarios para  simular el rebote de la pelota sobre el piso

    el valor de la  entrega del programa se evalua sobre 80

    / moverpelota.cpp : Defines the entry point for the console application.

    #include <GL/glut.h>
    GLfloat anguloCuboX = 0.0f;
    GLfloat anguloCuboY = 0.0f;
    GLfloat anguloEsfera = 0.0f;
    GLfloat TrasEsferx=3.0f;
    GLfloat TrasEsfery=0.0f;
    GLfloat TrasEsferz=-5.0f;
    GLint ancho=400;
    GLint alto=400;
    int hazPerspectiva = 0;
    void reshape(int width, int height)
    {
        glViewport(0, 0, width, height);
        glMatrixMode(GL_PROJECTION);
        glLoadIdentity();
        if(hazPerspectiva)
                   gluPerspective(60.0f, (GLfloat)width/(GLfloat)height, 1.0f, 20.0f);
         else
           glOrtho(-4,4, -4, 4, 1, 10);
           glMatrixMode(GL_MODELVIEW);
        ancho = width;
        alto = height;
    }
    void Piso(void)
    {
        glColor3f(1.0f, 0.0f, 1.0f);
     glScalef(1.5f,0.0f,1.5f);
        glBegin(GL_QUADS);       //cara abajo
        glVertex3f( 1.0f,-1.0f, -1.0f);
        glVertex3f( 1.0f,-1.0f,  1.0f);
        glVertex3f(-1.0f,-1.0f,  1.0f);
        glVertex3f(-1.0f,-1.0f, -1.0f);
        glEnd();
    }
    void display()
    {
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
        glLoadIdentity();
        glTranslatef(0.0f, 0.0f, -5.0f);
        glRotatef(15, 1.0f, 0.0f, 0.0f);
        glRotatef(15, 0.0f, 1.0f, 0.0f);
         Piso();
        glLoadIdentity();
        glTranslatef(TrasEsferx,TrasEsfery,TrasEsferz);
           glColor3f(1.0f, 1.0f, 1.0f);
        glutWireSphere(0.5f, 8, 8);
        glFlush();
        glutSwapBuffers();

        //anguloCuboX+=0.1f;
       // anguloCuboY+=0.1f;
       // anguloEsfera+=0.2f;
    }
    void init()
    {
        glClearColor(0,0,0,0);
        glEnable(GL_DEPTH_TEST);
        ancho = 400;
        alto = 400;
    }
    void idle()
    {
        display();
    }

    void keyboard(unsigned char key, int x, int y)
    {
        switch(key)
        {
        case 'p':
        case 'P':
     hazPerspectiva=1;
     reshape(ancho,alto);
     break;
        case 'o':
        case 'O':
     hazPerspectiva=0;
     reshape(ancho,alto);
     break;
        case 'i':
        case 'I':
       TrasEsferx-=.10;
     break;
      case 'd':
        case 'D':
        TrasEsferx+=.10;
     break;
        case 'a':
        case 'A':
         TrasEsfery+= .10;
      break;
        case 'b':
        case 'B':
         TrasEsfery-=.1.0;
     break;
       case 'z':
        case 'Z':
         TrasEsferz+= 1.10;
      break;
        case 'x':
        case 'X':
         TrasEsferz-=1.0;
     break;
        case 27:   // escape
     //exit(0);
          break;
        }
    }

    int main(int argc, char **argv)
    {
        glutInit(&argc, argv);
        glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
        glutInitWindowPosition(100, 100);
        glutInitWindowSize(ancho, alto);
        glutCreateWindow("Cubo 1");
        init();
        glutDisplayFunc(display);
        glutReshapeFunc(reshape);
        glutIdleFunc(idle);
        glutKeyboardFunc(keyboard);
        glutMainLoop();
        return 0;
    }

    entrega  viernes  5 de octubre  publicado en el blog individual

    paralograr la animacion de manera automatica utilizaremos la funcion
      glutTimerFunc(), puede consultar el siguiente enlace
    http://opengl-esp.superforo.net/t18-tutorial-ii3-gluttimerfunc