viernes, 26 de agosto de 2011

Código opengl

http://www.cs.unm.edu/~angel/BOOK/INTERACTIVE_COMPUTER_GRAPHICS/THIRD_EDITION/PROGRAMS/

Codigo de prueba

/*cubetex.c           */
/* Rotating cube with texture mapping */
/* mouse buttons control direction of
/* rotation, keyboard allows start/top/quit */
/* E. Angel, Interactive Computer Graphics */
/* A Top-Down Approach with OpenGL, Third Edition */
/* Addison-Wesley Longman, 2003 */
#include <stdlib.h>
#include <GL/glut.h>
GLfloat planes[]= {-1.0, 0.0, 1.0, 0.0};
GLfloat planet[]= {0.0, -1.0,  0.0, 1.0};
 GLfloat vertices[][3] = {{-1.0,-1.0,-1.0},{1.0,-1.0,-1.0},
 {1.0,1.0,-1.0}, {-1.0,1.0,-1.0}, {-1.0,-1.0,1.0},
 {1.0,-1.0,1.0}, {1.0,1.0,1.0}, {-1.0,1.0,1.0}};
 GLfloat colors[][4] = {{0.0,0.0,0.0,0.5},{1.0,0.0,0.0,0.5},
 {1.0,1.0,0.0,0.5}, {0.0,1.0,0.0,0.5}, {0.0,0.0,1.0,0.5},
 {1.0,0.0,1.0,0.5}, {1.0,1.0,1.0,0.5}, {0.0,1.0,1.0,0.5}};
void polygon(int a, int b, int c , int d)
{
/* draw a polygon via list of vertices */
  glBegin(GL_POLYGON);
 glColor4fv(colors[a]);
 glTexCoord2f(0.0,0.0);
 glVertex3fv(vertices[a]);
 glColor4fv(colors[b]);
 glTexCoord2f(0.0,1.0);
 glVertex3fv(vertices[b]);
 glColor4fv(colors[c]);
 glTexCoord2f(1.0,1.0);
 glVertex3fv(vertices[c]);
 glColor4fv(colors[d]);
 glTexCoord2f(1.0,0.0);
 glVertex3fv(vertices[d]);
 glEnd();
                          }
void colorcube(void)
{
/* map vertices to faces */
 polygon(0,3,2,1);
 polygon(2,3,7,6);
 polygon(0,4,7,3);
 polygon(1,2,6,5);
 polygon(4,5,6,7);
 polygon(0,1,5,4);
}
static GLfloat theta[] = {0.0,0.0,0.0};
static GLint axis = 2;
void display(void)
{
/* display callback, clear frame buffer and z buffer,
   rotate cube and draw, swap buffers */
 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 glLoadIdentity();
 glRotatef(theta[0], 1.0, 0.0, 0.0);
 glRotatef(theta[1], 0.0, 1.0, 0.0);
 glRotatef(theta[2], 0.0, 0.0, 1.0);
 colorcube();

 glutSwapBuffers();
}
void spinCube()
{
/* Idle callback, spin cube 2 degrees about selected axis */
 theta[axis] += 2.0;
 if( theta[axis] > 360.0 ) theta[axis] -= 360.0;
 glutPostRedisplay();
}
void mouse(int btn, int state, int x, int y)
{
/* mouse callback, selects an axis about which to rotate */
 if(btn==GLUT_LEFT_BUTTON && state == GLUT_DOWN) axis = 0;
 if(btn==GLUT_MIDDLE_BUTTON && state == GLUT_DOWN) axis = 1;
 if(btn==GLUT_RIGHT_BUTTON && state == GLUT_DOWN) axis = 2;
}
void myReshape(int w, int h)
{
    glViewport(0, 0, w, h);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    if (w <= h)
        glOrtho(-2.0, 2.0, -2.0 * (GLfloat) h / (GLfloat) w,
            2.0 * (GLfloat) h / (GLfloat) w, -10.0, 10.0);
    else
        glOrtho(-2.0 * (GLfloat) w / (GLfloat) h,
            2.0 * (GLfloat) w / (GLfloat) h, -2.0, 2.0, -10.0, 10.0);
    glMatrixMode(GL_MODELVIEW);
}
void key(unsigned char k, int x, int y)
{
 if(k == '1') glutIdleFunc(spinCube);
 if(k == '2') glutIdleFunc(NULL);
 if(k == 'q') exit(0);
}
void
main(int argc, char **argv)
{
   GLubyte image[64][64][3];
   int i, j, r, c;
   for(i=0;i<64;i++)
   {
     for(j=0;j<64;j++)
     {
       c = ((((i&0x8)==0)^((j&0x8))==0))*255;
       image[i][j][0]= (GLubyte) c;
       image[i][j][1]= (GLubyte) c;
       image[i][j][2]= (GLubyte) c;
     }
   }
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
    glutInitWindowSize(500, 500);
    glutCreateWindow("colorcube");
/* need both double buffering and z buffer */
    glutReshapeFunc(myReshape);
    glutDisplayFunc(display);
   glutIdleFunc(spinCube);
   glutMouseFunc(mouse);
   glEnable(GL_DEPTH_TEST);
   glEnable(GL_TEXTURE_2D);
   glTexImage2D(GL_TEXTURE_2D,0,3,64,64,0,GL_RGB,GL_UNSIGNED_BYTE, image);
   glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_REPEAT);
   glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_REPEAT);
   glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST);
   glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST);
   glutKeyboardFunc(key);
   glClearColor(1.0,1.0,1.0,1.0);
   glutMainLoop();
}

jueves, 18 de agosto de 2011

OpenGl

el siguiente enlace contiene la informacion sobre OpenGL
http://www.dccia.ua.es/dccia/inf/asignaturas/GC/Teoria/OpenGL.Introduccion.pdf


del siguiente enlace hacer un resumen cronologico de eventos relacionado con  la historia  sobre graficacion
http://es.scribd.com/doc/13642361/Introduccion-Computacion-Grafica

entrega del resumen en el blog para el lunes  22 de agosto

breve explicacion sobre opengl
http://worldspace.berlios.de/fase1/tut_1_0/index.html

ejemplo de programa con OpenGl
http://www.hola-mundo.net/index.php?/topic/481-ejemplo-con-opengl-en-visual-studio-2010-c/

utilizar open gl sin permiso de administrador
http://blackcrystal.wordpress.com/2009/04/01/opengl-y-visual-studio-visual-c-2/
configuracion  visual studio C++ 2010 y opengl

http://es.scribd.com/doc/39175015/Setting-Up-Freeglut-and-GLTools-Libraries-Visual-Studio-2010

introduccion a opengl

http://glprogramming.com/red/

martes, 16 de agosto de 2011

Enlaces a blog Individual

       Nombre Completo Enlace ablog individual / tarea 
 AGUILAR ESTALA CESAR OMAR http://tu-mama-eshombre-elregreso.blogspot.com 
 ALVAREZ ALVAREZ SELENE /graficacion12-1pm.blogspot.com 
 ARMENDARIZ SANCHEZ JESUS EDUARDO eduardo-graficacion.blogspot.com 
 BARRAZA GAMEROS LAURA graficandolaura.blogspot.com 
 BERNAL CANDELARIA SAMUEL IVAN itcj-graficacion.blogspot.com 
 CARDENAS FERNANDEZ JOSE DANIEL danielgraficacion.blogspot.com 
 CARREON RIVERA JORGE ANTONIO graficasbonitas.blogspot.com 
 CHAVEZ RAMOS DIANA dchavezgraficacion.blogspot.com 
 CHAVEZ RUIZ OMAR ADRIAN /tu-mama-eshombre.blogspot.com 
 GARCIA QUEZADA ELSA /graficacion-elsa.blogspot.com 
 GOMEZ CHAVEZ ARNULFO graficacion2011.blogspot.com
 HERRERA ORTEGA MARLYTH marlyth-ortega.blogspot.com 
 JIMENEZ OCHOA MARIA LUCERO lucero-jimenez.blogspot.com 
 OLVERA GRANILLO CARLOS IVAN graficacion-carlosolvera.blogspot.com 
 PARRA HERNANDEZ DIANA LOURDES graficaciondlph.blogspot.com 
 PEDRAZA MARTINEZ CARLOS graficacioncarlos.blogspot.com 
 RODRIGUEZ NIETO JOSE MANUEL graficacionp-jose.blogspot.com 
 SAUCEDO MARQUEZ ANGEL /tu-mama-eshombre-lavenganza.blogspot.com 
 HIPOLITO GONZALEZ SAUL SANTIAGO saul-graficacion.blogspot.com

Introducción a la graficación por computadora

Actividad 1.
Investigue los siguientes conceptos y publique en su blog los resultados, no olvide incluir las fuentes de información

1.Aplicaciones de graficos de computadora
2. Sistema de graficos
       Procesador
       Memoria
       frame buffer
       dispositivos de salida
      dispositivos de entrada
3.  disparidad binocular
     infromacion monocular
revise el siguiente enlace

http://www.slideshare.net/AlonsoAlvarez/graficos-por-computadora-1

lunes, 15 de agosto de 2011