martes, 2 de octubre de 2007

Reporte Práctica 6

#include

void reshape(int width, int height)
{
glViewport(0, 0, width, height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-4,4,-4,4,-4,4);
glMatrixMode(GL_MODELVIEW);
}
float escala = 1.0f;
float transZ = -10.0f;

void display(){
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glScalef(0.003,0.003,0.003);
glTranslatef(-400,transZ,0);
glScalef(escala,escala,escala);
glColor3f(0.8,0.8,0.8);
glutStrokeCharacter(GLUT_STROKE_ROMAN, ' ');
glutStrokeCharacter(GLUT_STROKE_ROMAN, ' ');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'A');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'D');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'R');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'I');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'A');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'N');
glTranslatef(-600,-200,0);
glColor3f(0.8,0.8,0.8);
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'Q');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'U');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'I');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'N');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'T');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'A');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'N');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'A');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'R');
glTranslatef(-750,-200,0);
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'M');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'O');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'N');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'D');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'R');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'A');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'G');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'O');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'N');
glFlush();
glutSwapBuffers();
}
void init(){
glClearColor(0.3f, 0.3f, 0.3f, 1.0f );
glEnable(GL_DEPTH_TEST);

}

void teclado(unsigned char key, int x, int y){

switch(key)
{
//Tecla para salir
case 27:
exit(0);
case 'a':
transZ= transZ + 50.0f;
escala-= 0.03;
break;
case 'b':
transZ= transZ + 200.0f;
break;
case 'c':
transZ -= 0.1f;
break;
default:
break;
}
glutPostRedisplay();
}

int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutInitWindowSize(300, 600);
glutInitWindowPosition(500, 100);
glutCreateWindow("Letras al estilo Stars Wars");
init();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutKeyboardFunc(teclado);
glutMainLoop();
return 0;
}


No hay comentarios: