PROYECTO 2 TARJETA SPARTAN3PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL...

27
PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL include <openglut.h> #include <stdio.h> GLfloat light_Ambient [4] = { 0.4, 0.4, 0.4, 1.0}; GLfloat light_Diffuse [4] = { 0.7, 0.7, 0.7, 1.0}; GLfloat light_Position [4] = {20.0, 15.0, 10.0, 1.0}; GLfloat material [4] = {0.5, 0.5, 0.5, 1.0 }; GLfloat RedMaterial [4] = {0.0, 0.0, 0.0, 1.0 }; GLfloat GreenMaterial [4] = {0.0, 1.0, 0.0, 1.0 }; GLfloat BlueMaterial [4] = {0.0, 0.0, 1.0, 1.0 }; GLfloat WhiteMaterial [4] = {1.0, 1.0, 1.0, 1.0 }; GLfloat BlackMaterial1 [4] = {0.0, 0.0, 0.0, 1.0 }; GLfloat BlackMaterial2 [4] = {0.0, 0.0, 0.0, 1.0 }; GLfloat BlackMaterial3 [4] = {0.0, 0.0, 0.0, 1.0 }; GLfloat BlackMaterial4 [4] = {0.0, 0.0, 0.0, 1.0 }; GLfloat BlackMaterial5 [4] = {0.0, 0.0, 0.0, 1.0 }; GLfloat BlackMaterial6 [4] = {0.0, 0.0, 0.0, 1.0 }; GLfloat BlackMaterial7 [4] = {0.0, 0.0, 0.0, 1.0 }; GLUquadricObj *quadobj; float tamaño1=1; float tamaño2=1; float tamaño3=1; float tamaño4=1; float n1=-.2; float n2=-.2; float n3=-.2; float n4=-.2; float n5=-.2; float n6=-.2; float n7=-.2; float n8=-.2; int inc=0; int incls=0; int inclp=0; void luces(void) { glEnable (GL_LIGHTING); glEnable (GL_LIGHT0); glLightfv(GL_LIGHT0, GL_AMBIENT, light_Ambient ); glLightfv(GL_LIGHT0, GL_DIFFUSE, light_Diffuse ); glLightfv(GL_LIGHT0, GL_POSITION, light_Position ); } void boton1() { glNewList(1,GL_COMPILE); glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, BlueMaterial ); glutSolidCube(tamaño1); glEndList(); } void boton2()

Transcript of PROYECTO 2 TARJETA SPARTAN3PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL...

Page 1: PROYECTO 2 TARJETA SPARTAN3PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL include  #include  GLfloat light_Ambient [4] = {

PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA

HECTOR DANIEL include <openglut.h> #include <stdio.h> GLfloat light_Ambient [4] = { 0.4, 0.4, 0.4, 1.0}; GLfloat light_Diffuse [4] = { 0.7, 0.7, 0.7, 1.0}; GLfloat light_Position [4] = {20.0, 15.0, 10.0, 1.0}; GLfloat material [4] = {0.5, 0.5, 0.5, 1.0 }; GLfloat RedMaterial [4] = {0.0, 0.0, 0.0, 1.0 }; GLfloat GreenMaterial [4] = {0.0, 1.0, 0.0, 1.0 }; GLfloat BlueMaterial [4] = {0.0, 0.0, 1.0, 1.0 }; GLfloat WhiteMaterial [4] = {1.0, 1.0, 1.0, 1.0 }; GLfloat BlackMaterial1 [4] = {0.0, 0.0, 0.0, 1.0 }; GLfloat BlackMaterial2 [4] = {0.0, 0.0, 0.0, 1.0 }; GLfloat BlackMaterial3 [4] = {0.0, 0.0, 0.0, 1.0 }; GLfloat BlackMaterial4 [4] = {0.0, 0.0, 0.0, 1.0 }; GLfloat BlackMaterial5 [4] = {0.0, 0.0, 0.0, 1.0 }; GLfloat BlackMaterial6 [4] = {0.0, 0.0, 0.0, 1.0 }; GLfloat BlackMaterial7 [4] = {0.0, 0.0, 0.0, 1.0 }; GLUquadricObj *quadobj; float tamaño1=1; float tamaño2=1; float tamaño3=1; float tamaño4=1; float n1=-.2; float n2=-.2; float n3=-.2; float n4=-.2; float n5=-.2; float n6=-.2; float n7=-.2; float n8=-.2; int inc=0; int incls=0; int inclp=0; void luces(void) { glEnable (GL_LIGHTING); glEnable (GL_LIGHT0); glLightfv(GL_LIGHT0, GL_AMBIENT, light_Ambient ); glLightfv(GL_LIGHT0, GL_DIFFUSE, light_Diffuse ); glLightfv(GL_LIGHT0, GL_POSITION, light_Position ); } void boton1() { glNewList(1,GL_COMPILE); glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, BlueMaterial ); glutSolidCube(tamaño1); glEndList(); } void boton2()

Page 2: PROYECTO 2 TARJETA SPARTAN3PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL include  #include  GLfloat light_Ambient [4] = {

{ glNewList(2,GL_COMPILE); glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, BlueMaterial ); glutSolidCube(tamaño2); glEndList(); } void boton3() { glNewList(3,GL_COMPILE); glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, BlueMaterial ); glutSolidCube(tamaño3); glEndList(); } void boton4() { glNewList(4,GL_COMPILE); glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, BlueMaterial ); glutSolidCube(tamaño4); glEndList(); } void led1() { glNewList(5,GL_COMPILE); quadobj = gluNewQuadric(); //crear glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, RedMaterial ); gluQuadricDrawStyle( quadobj, GLU_FILL); //estilo lleno, alambrado, de puntos o silueta. gluQuadricNormals( quadobj, GLU_SMOOTH); gluCylinder(quadobj, .2, .2, .5, 4, 4); glEndList(); } void led2() { glNewList(6,GL_COMPILE); quadobj = gluNewQuadric(); //crear glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, RedMaterial ); gluQuadricDrawStyle( quadobj, GLU_FILL); //estilo lleno, alambrado, de puntos o silueta. gluQuadricNormals( quadobj, GLU_SMOOTH); gluCylinder(quadobj, .2, .2, .5, 4, 4); glEndList(); } void led3() { glNewList(7,GL_COMPILE); quadobj = gluNewQuadric(); //crear glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, RedMaterial ); gluQuadricDrawStyle( quadobj, GLU_FILL); //estilo lleno, alambrado, de puntos o silueta. gluQuadricNormals( quadobj, GLU_SMOOTH); gluCylinder(quadobj, .2, .2, .5, 4, 4); glEndList(); } void led4() {

Page 3: PROYECTO 2 TARJETA SPARTAN3PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL include  #include  GLfloat light_Ambient [4] = {

glNewList(8,GL_COMPILE); quadobj = gluNewQuadric(); //crear glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, RedMaterial ); gluQuadricDrawStyle( quadobj, GLU_FILL); //estilo lleno, alambrado, de puntos o silueta. gluQuadricNormals( quadobj, GLU_SMOOTH); gluCylinder(quadobj, .2, .2, .5, 4, 4); glEndList(); } void led5() { glNewList(9,GL_COMPILE); quadobj = gluNewQuadric(); //crear glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, RedMaterial ); gluQuadricDrawStyle( quadobj, GLU_FILL); //estilo lleno, alambrado, de puntos o silueta. gluQuadricNormals( quadobj, GLU_SMOOTH); gluCylinder(quadobj, .2, .2, .5, 4, 4); glEndList(); } void led6() { glNewList(10,GL_COMPILE); quadobj = gluNewQuadric(); //crear glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, RedMaterial ); gluQuadricDrawStyle( quadobj, GLU_FILL); //estilo lleno, alambrado, de puntos o silueta. gluQuadricNormals( quadobj, GLU_SMOOTH); gluCylinder(quadobj, .2, .2, .5, 4, 4); glEndList(); } void led7() { glNewList(11,GL_COMPILE); quadobj = gluNewQuadric(); //crear glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, RedMaterial ); gluQuadricDrawStyle( quadobj, GLU_FILL); //estilo lleno, alambrado, de puntos o silueta. gluQuadricNormals( quadobj, GLU_SMOOTH); gluCylinder(quadobj, .2, .2, .5, 4, 4); glEndList(); } void led8() { glNewList(12,GL_COMPILE); quadobj = gluNewQuadric(); //crear glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, RedMaterial ); gluQuadricDrawStyle( quadobj, GLU_FILL); //estilo lleno, alambrado, de puntos o silueta. gluQuadricNormals( quadobj, GLU_SMOOTH); gluCylinder(quadobj, .2, .2, .5, 4, 4); glEndList(); } void swich1() { glNewList(13,GL_COMPILE);

Page 4: PROYECTO 2 TARJETA SPARTAN3PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL include  #include  GLfloat light_Ambient [4] = {

glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, BlueMaterial ); glRectf(-.5,-1.,.5,1.); glEndList(); glNewList(14,GL_COMPILE); glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, WhiteMaterial ); glPushMatrix(); glTranslatef(0,n1,.1); glRectf(-.25,-.5,.25,.5); glPopMatrix(); glEndList(); } void swich2() { glNewList(15,GL_COMPILE); glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, BlueMaterial ); glRectf(-.5,-1.,.5,1.); glEndList(); glNewList(16,GL_COMPILE); glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, WhiteMaterial ); glPushMatrix(); glTranslatef(0,n2,.1); glRectf(-.25,-.5,.25,.5); glPopMatrix(); glEndList(); } void swich3() { glNewList(17,GL_COMPILE); glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, BlueMaterial ); glRectf(-.5,-1.,.5,1.); glEndList(); glNewList(18,GL_COMPILE); glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, WhiteMaterial ); glPushMatrix(); glTranslatef(0,n3,.1); glRectf(-.25,-.5,.25,.5); glPopMatrix(); glEndList(); } void swich4() { glNewList(19,GL_COMPILE); glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, BlueMaterial ); glRectf(-.5,-1.,.5,1.); glEndList(); glNewList(20,GL_COMPILE); glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, WhiteMaterial ); glPushMatrix(); glTranslatef(0,n4,.1); glRectf(-.25,-.5,.25,.5); glPopMatrix(); glEndList(); }

Page 5: PROYECTO 2 TARJETA SPARTAN3PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL include  #include  GLfloat light_Ambient [4] = {

void swich5() { glNewList(21,GL_COMPILE); glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, BlueMaterial ); glRectf(-.5,-1.,.5,1.); glEndList(); glNewList(22,GL_COMPILE); glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, WhiteMaterial ); glPushMatrix(); glTranslatef(0,n5,.1); glRectf(-.25,-.5,.25,.5); glPopMatrix(); glEndList(); } void swich6() { glNewList(23,GL_COMPILE); glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, BlueMaterial ); glRectf(-.5,-1.,.5,1.); glEndList(); glNewList(24,GL_COMPILE); glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, WhiteMaterial ); glPushMatrix(); glTranslatef(0,n6,.1); glRectf(-.25,-.5,.25,.5); glPopMatrix(); glEndList(); } void swich7() { glNewList(25,GL_COMPILE); glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, BlueMaterial ); glRectf(-.5,-1.,.5,1.); glEndList(); glNewList(26,GL_COMPILE); glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, WhiteMaterial ); glPushMatrix(); glTranslatef(0,n7,.1); glRectf(-.25,-.5,.25,.5); glPopMatrix(); glEndList(); } void swich8() { glNewList(27,GL_COMPILE); glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, BlueMaterial ); glRectf(-.5,-1.,.5,1.); glEndList(); glNewList(28,GL_COMPILE); glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, WhiteMaterial ); glPushMatrix(); glTranslatef(0,n8,.1); glRectf(-.25,-.5,.25,.5);

Page 6: PROYECTO 2 TARJETA SPARTAN3PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL include  #include  GLfloat light_Ambient [4] = {

glPopMatrix(); glEndList(); } void display() { glNewList(29,GL_COMPILE); glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, WhiteMaterial ); glRectf(-5,-3,5,3); glEndList(); } void segmento1() { glNewList(30,GL_COMPILE); glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, BlackMaterial1 ); glBegin (GL_LINES); glVertex3f (-0.5, 2.0, 0.0); glVertex3f (0.5, 2.0, 0.0); glEnd(); glEndList(); glNewList(31,GL_COMPILE); glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, BlackMaterial2 ); glBegin (GL_LINES); glVertex3f (0.5, 1.5, 0.0); glVertex3f (0.5, 0.5, 0.0); glEnd(); glEndList(); glNewList(32,GL_COMPILE); glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, BlackMaterial3 ); glBegin (GL_LINES); glVertex3f (0.5, 0.0, 0.0); glVertex3f (0.5, -1.0, 0.0); glEnd(); glEndList(); glNewList(33,GL_COMPILE); glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, BlackMaterial4 ); glBegin (GL_LINES); glVertex3f (0.5, -1.5, 0.0); glVertex3f (-0.5, -1.5, 0.0); glEnd(); glEndList(); glNewList(34,GL_COMPILE); glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, BlackMaterial5 ); glBegin (GL_LINES); glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, BlackMaterial5 ); glVertex3f (-0.5, -1.0, 0.0); glVertex3f (-0.5, 0.0, 0.0); glEnd(); glEndList();

Page 7: PROYECTO 2 TARJETA SPARTAN3PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL include  #include  GLfloat light_Ambient [4] = {

glNewList(35,GL_COMPILE); glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, BlackMaterial6 ); glBegin (GL_LINES); glVertex3f (-0.5, 0.5, 0.0); glVertex3f (-0.5, 1.5, 0.0); glEnd(); glEndList(); glNewList(36,GL_COMPILE); glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, BlackMaterial7 ); glBegin (GL_LINES); glVertex3f (0.5, .25, 0.0); glVertex3f (-0.5, .25, 0.0); glEnd(); glEndList(); } void RenderScene(void) { glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); glPushMatrix(); glTranslatef(-10,-8,0); glCallList(1); glPopMatrix(); glPushMatrix(); glTranslatef(-8,-8,0); glCallList(2); glPopMatrix(); glPushMatrix(); glTranslatef(-6,-8,0); glCallList(3); glPopMatrix(); glPushMatrix(); glTranslatef(-4,-8,0); glCallList(4); glPopMatrix(); glPushMatrix(); glTranslatef(-10.5,-6,0); glRotatef(90,1,0,0); glCallList(5); glPopMatrix(); glPushMatrix(); glTranslatef(-9.5,-6,0); glRotatef(90,1,0,0); glCallList(6); glPopMatrix(); glPushMatrix(); glTranslatef(-8.5,-6,0); glRotatef(90,1,0,0); glCallList(7); glPopMatrix(); glPushMatrix(); glTranslatef(-7.5,-6,0); glRotatef(90,1,0,0); glCallList(8); glPopMatrix(); glPushMatrix(); glTranslatef(-6.5,-6,0);

Page 8: PROYECTO 2 TARJETA SPARTAN3PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL include  #include  GLfloat light_Ambient [4] = {

glRotatef(90,1,0,0); glCallList(9); glPopMatrix(); glPushMatrix(); glTranslatef(-5.5,-6,0); glRotatef(90,1,0,0); glCallList(10); glPopMatrix(); glPushMatrix(); glTranslatef(-4.5,-6,0); glRotatef(90,1,0,0); glCallList(11); glPopMatrix(); glPushMatrix(); glTranslatef(-3.5,-6,0); glRotatef(90,1,0,0); glCallList(12); glPopMatrix(); glPushMatrix(); glTranslatef(-1,-7.5,0); glPushMatrix(); glCallList(13); glCallList(14); glPopMatrix(); glPopMatrix(); glPushMatrix(); glTranslatef(1,-7.5,0); glPushMatrix(); glCallList(15); glCallList(16); glPopMatrix(); glPopMatrix(); glPushMatrix(); glTranslatef(3,-7.5,0); glPushMatrix(); glCallList(17); glCallList(18); glPopMatrix(); glPopMatrix(); glPushMatrix(); glTranslatef(5,-7.5,0); glPushMatrix(); glCallList(19); glCallList(20); glPopMatrix(); glPopMatrix(); glPushMatrix(); glTranslatef(7,-7.5,0); glPushMatrix(); glCallList(21); glCallList(22); glPopMatrix(); glPopMatrix(); glPushMatrix(); glTranslatef(9,-7.5,0); glPushMatrix(); glCallList(23); glCallList(24); glPopMatrix(); glPopMatrix(); glPushMatrix();

Page 9: PROYECTO 2 TARJETA SPARTAN3PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL include  #include  GLfloat light_Ambient [4] = {

glTranslatef(11,-7.5,0); glPushMatrix(); glCallList(25); glCallList(26); glPopMatrix(); glPopMatrix(); glPushMatrix(); glTranslatef(13,-7.5,0); glPushMatrix(); glCallList(27); glCallList(28); glPopMatrix(); glPopMatrix(); glPushMatrix(); glTranslatef(7,-2,0); glPushMatrix(); glTranslatef(-3,-.25,1); glPushMatrix(); glCallList(30); glCallList(31); glCallList(32); glCallList(33); glCallList(34); glCallList(35); glCallList(36); glPopMatrix(); glPopMatrix(); glPushMatrix(); glTranslatef(-1,-.25,1); glPushMatrix(); glCallList(30); glCallList(31); glCallList(32); glCallList(33); glCallList(34); glCallList(35); glCallList(36); glPopMatrix(); glPopMatrix(); glPushMatrix(); glTranslatef(1,-.25,1); glPushMatrix(); glCallList(30); glCallList(31); glCallList(32); glCallList(33); glCallList(34); glCallList(35); glCallList(36); glPopMatrix(); glPopMatrix(); glPushMatrix(); glTranslatef(3,-.25,1); glPushMatrix(); glCallList(30); glCallList(31); glCallList(32); glCallList(33); glCallList(34); glCallList(35); glCallList(36);

Page 10: PROYECTO 2 TARJETA SPARTAN3PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL include  #include  GLfloat light_Ambient [4] = {

glPopMatrix(); glPopMatrix(); glCallList(29); glPopMatrix(); glFlush(); glutSwapBuffers(); } void idle(void) { glutPostRedisplay(); } void segm() { if(inc==1) { BlackMaterial1[0]=0; BlackMaterial2[0]=1; BlackMaterial3[0]=1; BlackMaterial4[0]=0; BlackMaterial5[0]=0; BlackMaterial6[0]=0; BlackMaterial7[0]=0; segmento1(); } else if(inc==2) { BlackMaterial1[0]=1; BlackMaterial2[0]=1; BlackMaterial3[0]=0; BlackMaterial4[0]=1; BlackMaterial5[0]=1; BlackMaterial6[0]=0; BlackMaterial7[0]=1; segmento1(); } else if(inc==3) { BlackMaterial1[0]=1; BlackMaterial2[0]=1; BlackMaterial3[0]=1; BlackMaterial4[0]=1; BlackMaterial5[0]=0; BlackMaterial6[0]=0; BlackMaterial7[0]=1; segmento1(); } else if(inc==4) { BlackMaterial1[0]=0; BlackMaterial2[0]=1; BlackMaterial3[0]=1; BlackMaterial4[0]=0; BlackMaterial5[0]=0; BlackMaterial6[0]=1; BlackMaterial7[0]=1; segmento1(); } else if(inc==5) { BlackMaterial1[0]=1;

Page 11: PROYECTO 2 TARJETA SPARTAN3PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL include  #include  GLfloat light_Ambient [4] = {

BlackMaterial2[0]=0; BlackMaterial3[0]=1; BlackMaterial4[0]=1; BlackMaterial5[0]=0; BlackMaterial6[0]=1; BlackMaterial7[0]=1; segmento1(); } else if(inc==6) { BlackMaterial1[0]=1; BlackMaterial2[0]=0; BlackMaterial3[0]=1; BlackMaterial4[0]=1; BlackMaterial5[0]=1; BlackMaterial6[0]=1; BlackMaterial7[0]=1; segmento1(); } else if(inc==7) { BlackMaterial1[0]=1; BlackMaterial2[0]=1; BlackMaterial3[0]=1; BlackMaterial4[0]=0; BlackMaterial5[0]=0; BlackMaterial6[0]=0; BlackMaterial7[0]=1; segmento1(); } else if(inc==8) { BlackMaterial1[0]=1; BlackMaterial2[0]=1; BlackMaterial3[0]=1; BlackMaterial4[0]=1; BlackMaterial5[0]=1; BlackMaterial6[0]=1; BlackMaterial7[0]=1; segmento1(); } else if(inc==9) { BlackMaterial1[0]=1; BlackMaterial2[0]=1; BlackMaterial3[0]=1; BlackMaterial4[0]=0; BlackMaterial5[0]=0; BlackMaterial6[0]=1; BlackMaterial7[0]=1; segmento1(); } else if(inc==10) { BlackMaterial1[0]=1; BlackMaterial2[0]=1; BlackMaterial3[0]=1; BlackMaterial4[0]=0; BlackMaterial5[0]=1; BlackMaterial6[0]=1; BlackMaterial7[0]=1;

Page 12: PROYECTO 2 TARJETA SPARTAN3PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL include  #include  GLfloat light_Ambient [4] = {

segmento1(); } else if(inc==11) { BlackMaterial1[0]=0; BlackMaterial2[0]=0; BlackMaterial3[0]=1; BlackMaterial4[0]=1; BlackMaterial5[0]=1; BlackMaterial6[0]=1; BlackMaterial7[0]=1; segmento1(); } else if(inc==12) { BlackMaterial1[0]=1; BlackMaterial2[0]=0; BlackMaterial3[0]=0; BlackMaterial4[0]=1; BlackMaterial5[0]=1; BlackMaterial6[0]=1; BlackMaterial7[0]=0; segmento1(); } else if(inc==13) { BlackMaterial1[0]=0; BlackMaterial2[0]=1; BlackMaterial3[0]=1; BlackMaterial4[0]=1; BlackMaterial5[0]=1; BlackMaterial6[0]=0; BlackMaterial7[0]=1; segmento1(); } else if(inc==14) { BlackMaterial1[0]=1; BlackMaterial2[0]=0; BlackMaterial3[0]=0; BlackMaterial4[0]=1; BlackMaterial5[0]=1; BlackMaterial6[0]=1; BlackMaterial7[0]=1; segmento1(); } else if(inc==15) { BlackMaterial1[0]=1; BlackMaterial2[0]=0; BlackMaterial3[0]=0; BlackMaterial4[0]=0; BlackMaterial5[0]=1; BlackMaterial6[0]=1; BlackMaterial7[0]=1; segmento1(); } else { BlackMaterial1[0]=0; BlackMaterial2[0]=0;

Page 13: PROYECTO 2 TARJETA SPARTAN3PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL include  #include  GLfloat light_Ambient [4] = {

BlackMaterial3[0]=0; BlackMaterial4[0]=0; BlackMaterial5[0]=0; BlackMaterial6[0]=0; BlackMaterial7[0]=0; segmento1(); } } void leds() { if(incls==1) { RedMaterial[0]=0; led5(); RedMaterial[0]=0; led6(); RedMaterial[0]=0; led7(); RedMaterial[0]=1; led8(); } else if(incls==2) { RedMaterial[0]=0; led5(); RedMaterial[0]=0; led6(); RedMaterial[0]=1; led7(); RedMaterial[0]=0; led8(); } else if(incls==3) { RedMaterial[0]=0; led5(); RedMaterial[0]=0; led6(); RedMaterial[0]=1; led7(); RedMaterial[0]=1; led8(); } else if(incls==4) { RedMaterial[0]=0; led5(); RedMaterial[0]=1; led6(); RedMaterial[0]=0; led7(); RedMaterial[0]=0; led8(); } else if(incls==5) { RedMaterial[0]=0; led5(); RedMaterial[0]=1; led6(); RedMaterial[0]=0;

Page 14: PROYECTO 2 TARJETA SPARTAN3PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL include  #include  GLfloat light_Ambient [4] = {

led7(); RedMaterial[0]=1; led8(); } else if(incls==6) { RedMaterial[0]=0; led5(); RedMaterial[0]=1; led6(); RedMaterial[0]=0; led7(); RedMaterial[0]=1; led8(); } else if(incls==7) { RedMaterial[0]=0; led5(); RedMaterial[0]=1; led6(); RedMaterial[0]=1; led7(); RedMaterial[0]=1; led8(); } else if(incls==8) { RedMaterial[0]=1; led5(); RedMaterial[0]=0; led6(); RedMaterial[0]=0; led7(); RedMaterial[0]=0; led8(); } else if(incls==9) { RedMaterial[0]=1; led5(); RedMaterial[0]=0; led6(); RedMaterial[0]=0; led7(); RedMaterial[0]=1; led8(); } else if(incls==10) { RedMaterial[0]=1; led5(); RedMaterial[0]=0; led6(); RedMaterial[0]=1; led7(); RedMaterial[0]=0; led8(); } else if(incls==11) {

Page 15: PROYECTO 2 TARJETA SPARTAN3PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL include  #include  GLfloat light_Ambient [4] = {

RedMaterial[0]=1; led5(); RedMaterial[0]=0; led6(); RedMaterial[0]=1; led7(); RedMaterial[0]=1; led8(); } else if(incls==12) { RedMaterial[0]=1; led5(); RedMaterial[0]=1; led6(); RedMaterial[0]=0; led7(); RedMaterial[0]=0; led8(); } else if(incls==13) { RedMaterial[0]=1; led5(); RedMaterial[0]=1; led6(); RedMaterial[0]=0; led7(); RedMaterial[0]=1; led8(); } else if(incls==14) { RedMaterial[0]=1; led5(); RedMaterial[0]=1; led6(); RedMaterial[0]=1; led7(); RedMaterial[0]=0; led8(); } else if(incls==15) { RedMaterial[0]=1; led5(); RedMaterial[0]=1; led6(); RedMaterial[0]=1; led7(); RedMaterial[0]=1; led8(); } else { RedMaterial[0]=0; led5(); RedMaterial[0]=0; led6(); RedMaterial[0]=0; led7();

Page 16: PROYECTO 2 TARJETA SPARTAN3PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL include  #include  GLfloat light_Ambient [4] = {

RedMaterial[0]=0; led8(); } } void ledp() { if(inclp==1) { RedMaterial[0]=0; led1(); RedMaterial[0]=0; led2(); RedMaterial[0]=0; led3(); RedMaterial[0]=1; led4(); } else if(inclp==2) { RedMaterial[0]=0; led1(); RedMaterial[0]=0; led2(); RedMaterial[0]=1; led3(); RedMaterial[0]=0; led4(); } else if(inclp==3) { RedMaterial[0]=0; led1(); RedMaterial[0]=0; led2(); RedMaterial[0]=1; led3(); RedMaterial[0]=1; led4(); } else if(inclp==4) { RedMaterial[0]=0; led1(); RedMaterial[0]=1; led2(); RedMaterial[0]=0; led3(); RedMaterial[0]=0; led4(); } else if(inclp==5) { RedMaterial[0]=0; led1(); RedMaterial[0]=1; led2(); RedMaterial[0]=0; led3(); RedMaterial[0]=1; led4();

Page 17: PROYECTO 2 TARJETA SPARTAN3PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL include  #include  GLfloat light_Ambient [4] = {

} else if(inclp==6) { RedMaterial[0]=0; led1(); RedMaterial[0]=1; led2(); RedMaterial[0]=0; led3(); RedMaterial[0]=1; led4(); } else if(inclp==7) { RedMaterial[0]=0; led1(); RedMaterial[0]=1; led2(); RedMaterial[0]=1; led3(); RedMaterial[0]=1; led4(); } else if(inclp==8) { RedMaterial[0]=1; led1(); RedMaterial[0]=0; led2(); RedMaterial[0]=0; led3(); RedMaterial[0]=0; led4(); } else if(inclp==9) { RedMaterial[0]=1; led1(); RedMaterial[0]=0; led2(); RedMaterial[0]=0; led3(); RedMaterial[0]=1; led4(); } else if(inclp==10) { RedMaterial[0]=1; led1(); RedMaterial[0]=0; led2(); RedMaterial[0]=1; led3(); RedMaterial[0]=0; led4(); } else if(inclp==11) { RedMaterial[0]=1; led1(); RedMaterial[0]=0;

Page 18: PROYECTO 2 TARJETA SPARTAN3PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL include  #include  GLfloat light_Ambient [4] = {

led2(); RedMaterial[0]=1; led3(); RedMaterial[0]=1; led4(); } else if(inclp==12) { RedMaterial[0]=1; led1(); RedMaterial[0]=1; led2(); RedMaterial[0]=0; led3(); RedMaterial[0]=0; led4(); } else if(inclp==13) { RedMaterial[0]=1; led1(); RedMaterial[0]=1; led2(); RedMaterial[0]=0; led3(); RedMaterial[0]=1; led4(); } else if(inclp==14) { RedMaterial[0]=1; led1(); RedMaterial[0]=1; led2(); RedMaterial[0]=1; led3(); RedMaterial[0]=0; led4(); } else if(inclp==15) { RedMaterial[0]=1; led1(); RedMaterial[0]=1; led2(); RedMaterial[0]=1; led3(); RedMaterial[0]=1; led4(); } else { RedMaterial[0]=0; led1(); RedMaterial[0]=0; led2(); RedMaterial[0]=0; led3(); RedMaterial[0]=0; led4(); }

Page 19: PROYECTO 2 TARJETA SPARTAN3PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL include  #include  GLfloat light_Ambient [4] = {

} void ControlTeclado(unsigned char key, int x, int y) { switch(key) { case 'Q': case 'q': if(tamaño1==1) { tamaño1=.5; boton1(); inclp+=8; } else { tamaño1=1; boton1(); inclp-=8; } break; case 'W': case 'w': if(tamaño2==1) { tamaño2=.5; boton2(); inclp+=4; } else { tamaño2=1; boton2(); inclp-=4; } break; case 'E': case 'e': if(tamaño3==1) { tamaño3=.5; boton3(); inclp+=2; } else { tamaño3=1; boton3(); inclp-=2; } break; case 'R': case 'r': if(tamaño4==1) { tamaño4=.5; boton4(); inclp+=1; } else { tamaño4=1;

Page 20: PROYECTO 2 TARJETA SPARTAN3PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL include  #include  GLfloat light_Ambient [4] = {

boton4(); inclp-=1; } break; default: tamaño1=1; boton1(); tamaño2=1; boton2(); tamaño3=1; boton3(); tamaño4=1; boton4(); inclp=0; break; } ledp(); } void ControlMovimientoRaton(int button, int state, int x, int y) { switch(button) { case GLUT_LEFT_BUTTON: if((x>50&&y>490)&&(x<85&&y<515)) { if(state==GLUT_DOWN) { tamaño1=.5; boton1(); inclp+=8; } else { tamaño1=1; boton1(); inclp-=8; } } else if((x>115&&y>490)&&(x<150&&y<515)) { if(state==GLUT_DOWN) { tamaño2=.5; boton2(); inclp+=4; } else { tamaño2=1; boton2(); inclp-=4; } } else if((x>180&&y>490)&&(x<215&&y<515)) { if(state==GLUT_DOWN) { tamaño3=.5; boton3(); inclp+=2;

Page 21: PROYECTO 2 TARJETA SPARTAN3PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL include  #include  GLfloat light_Ambient [4] = {

} else { tamaño3=1; boton3(); inclp-=2; } } else if((x>240&&y>490)&&(x<275&&y<515)) { if(state==GLUT_DOWN) { tamaño4=.5; boton4(); inclp+=1; } else { tamaño4=1; boton4(); inclp-=1; } } else if((x>325&&y>460)&&(x<360&&y<515)) { if(state==GLUT_DOWN) { if(n1>0) { n1=-0.2; swich1(); incls-=8; } else if(n1<0) { n1=0.2; swich1(); incls+=8; } } } else if((x>380&&y>460)&&(x<415&&y<515)) { if(state==GLUT_DOWN) { if(n2>0) { n2=-0.2; swich2(); incls-=4; } else if(n2<0) { n2=0.2; swich2(); incls+=4; } } } else if((x>445&&y>460)&&(x<480&&y<515)) {

Page 22: PROYECTO 2 TARJETA SPARTAN3PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL include  #include  GLfloat light_Ambient [4] = {

if(state==GLUT_DOWN) { if(n3>0) { n3=-0.2; swich3(); incls-=2; } else if(n3<0) { n3=0.2; swich3(); incls+=2; } } } else if((x>500&&y>460)&&(x<535&&y<515)) { if(state==GLUT_DOWN) { if(n4>0) { n4=-0.2; swich4(); incls-=1; } else if(n4<0) { n4=0.2; swich4(); incls+=1; } } } else if((x>565&&y>460)&&(x<590&&y<515)) { if(state==GLUT_DOWN) { if(n5>0) { n5=-0.2; swich5(); inc-=8; } else if(n5<0) { n5=0.2; swich5(); inc+=8; } } } else if((x>635&&y>460)&&(x<660&&y<515)) { if(state==GLUT_DOWN) { if(n6>0) { n6=-0.2; swich6(); inc-=4;

Page 23: PROYECTO 2 TARJETA SPARTAN3PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL include  #include  GLfloat light_Ambient [4] = {

} else if(n6<0) { n6=0.2; swich6(); inc+=4; } } } else if((x>680&&y>460)&&(x<715&&y<515)) { if(state==GLUT_DOWN) { if(n7>0) { n7=-0.2; swich7(); inc-=2; } else if(n7<0) { n7=0.2; swich7(); inc+=2; } } } else if((x>740&&y>460)&&(x<775&&y<515)) { if(state==GLUT_DOWN) { if(n8>0) { n8=-0.2; swich8(); inc-=1; } else if(n8<0) { n8=0.2; swich8(); inc+=1; } } } break; case GLUT_RIGHT_BUTTON: if(state== GLUT_DOWN) glutIdleFunc(NULL); break; default: break; } leds(); ledp(); segm(); } int main(void) {

Page 24: PROYECTO 2 TARJETA SPARTAN3PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL include  #include  GLfloat light_Ambient [4] = {

int IdeWindow; glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); //NOTE QUE SE ASIGNO GLUT_DEPTH utilizar buffer de profundidad glutInitWindowSize(800,600); glutInitWindowPosition(300,100); IdeWindow=glutCreateWindow("con mouse con OpenGL"); glutDisplayFunc( RenderScene ); glutIdleFunc ( idle ); glutKeyboardFunc ( ControlTeclado ); glutMouseFunc ( ControlMovimientoRaton ); glutSetCursor(GLUT_CURSOR_CROSSHAIR); glClearColor(0.0f, 1.0f, 0.0f, 1.0f); // //Habilitando el bufer de produndidad glEnable(GL_DEPTH_TEST); //cte GL_DEPTH_TEST HABILITADO // glMatrixMode(GL_PROJECTION); glLoadIdentity(); //glOrtho(-5,5,-5,5,-10,10); esta es proyeccion plana gluPerspective(15,800/600,.1,1000); //explicacion abajo //fov:angulo de apertura de la camara=>35 grados //relacion de aspecto 3:4,16:9=>800/600 //plano de vista cercano. mayor de 0 => .1 //plano de vista lejano. =>1000. glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt(0,0,100,1,1,-5, 0,1,0); /*Prepara la luz*/ luces(); /*Prepara un cubo a modo de lista*/ boton1(); boton2(); boton3(); boton4(); led1(); led2(); led3(); led4(); led5(); led6(); led7(); led8(); swich1(); swich2(); swich3(); swich4(); swich5(); swich6(); swich7(); swich8(); display(); segmento1(); glutMainLoop(); glutDestroyWindow(IdeWindow); }

Page 25: PROYECTO 2 TARJETA SPARTAN3PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL include  #include  GLfloat light_Ambient [4] = {

Vistas

Se observan los cuatro push-boton que activan los 4 primeros leds de izquierda a derecha, como muestra la flecha

Page 26: PROYECTO 2 TARJETA SPARTAN3PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL include  #include  GLfloat light_Ambient [4] = {

Los 4 primeros switch enciendo los 4 leds restantes

Page 27: PROYECTO 2 TARJETA SPARTAN3PROYECTO 2 TARJETA SPARTAN 3 ELABORADO POR MIRANDA PINEDA HECTOR DANIEL include  #include  GLfloat light_Ambient [4] = {

Finalmente los últimos 4 switch activan el display, recordando que se encienden de bit más significativo a el menor, es decir 8, 4, 2, 1.