//
#include "stdafx.h"
#include <stdlib.h>
#include <GL/glut.h>
GLfloat xm= 1.5f;
GLfloat escala = 1.5f;
GLfloat angulo = 0.0f;
void reshape(int width, int height)
{
glViewport(0,0,width,height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-5,20,-4,5,-5,5);
glMatrixMode(GL_MODELVIEW);
}
void display(){
glClear(GL_COLOR_BUFFER_BIT| GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
angulo+=0.2f;
glTranslatef(xm,0.0f,0.0f);
glScalef(escala, escala, escala);
glRotatef(angulo, 1.0f, 0.0f, 0.0f);
//CUERPO
glColor3f(1,0,0);
glBegin(GL_POLYGON);
glVertex3f(8,0,0);
glVertex3f(8,2.5,0);
glVertex3f(5,2.5,0);
glVertex3f(5,0,0);
glEnd();
//ENTRADA
glColor3f(0.75,0.75,0.75);
glBegin(GL_POLYGON);
glVertex3f(5.5,2.5,0.0);
glVertex3f(5.5,3.5,0.0);
glVertex3f(7.5,3.5,0.0);
glVertex3f(7.5,2.5,0.0);
glEnd();
//CUADRO DE DATOS
glColor3f(0,0,0);
glBegin(GL_POLYGON);
glVertex3f(5.65,2.75,0.1);
glVertex3f(5.65,3.25,0.1);
glVertex3f(6.35,3.25,0.1);
glVertex3f(6.35,2.75,0.1);
glEnd();
//CUADRO DE VOLTAJE
glColor3f(0,0,0);
glBegin(GL_POLYGON);
glVertex3f(6.55,2.75,0.1);
glVertex3f(6.55,3.25,0.1);
glVertex3f(7.25,3.25,0.1);
glVertex3f(7.25,2.75,0.1);
glEnd();
//FRANJA
glColor3f(0,0,1);
glBegin(GL_POLYGON);
glVertex3f(7,.2,.1);
glVertex3f(7,2.3,.1);
glVertex3f(6,2.3,.1);
glVertex3f(6,.2,.1);
glEnd();
glFlush();
glutSwapBuffers();
}void idle()
{
display();
}
void init()
{
glClearColor(0,0,0,0);
}
void keyboard(unsigned char key, int x, int y)
{
switch (key) {
case 27:
exit(0);
break;
}
}
void ArrowKey(int key, int x, int y){
switch (key){
case GLUT_KEY_RIGHT:
if( xm<2.5){xm = xm + 0.2;}
if(xm>0.1 && xm<2){escala = xm;}
break;
case GLUT_KEY_LEFT:
if( xm>-2.5){xm = xm - 0.2;}
if(xm>0.1 && xm<1){escala = xm;}
break;
}
}
int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowPosition(500,60);
glutInitWindowSize(600,500);
glutCreateWindow("USB");
init();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glEnable(GL_DEPTH_TEST);
glutIdleFunc(idle);
glutKeyboardFunc(keyboard);
glutSpecialFunc(ArrowKey);
glutMainLoop();
}
No hay comentarios:
Publicar un comentario