Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void desenhaCilindroImpressora(){
- glColor3f(1.0,1.0,1.0);
- gluCylinder(glQ, raio_cilindro_imp, raio_cilindro_imp, larguraTapete, 10, 10); // nao tem bases
- }
- void desenhaBaseGuilhotina(){
- // face janela
- glBegin(GL_POLYGON);
- glNormal3d(-1.0,0.0,0.0); // esta normal fica comum aos 4 vertices
- glVertex3d(0.0, 0.0, 0.0);
- glVertex3d(0.0,0.0 , baseGui);
- glVertex3d(0.0 , alturaTapete, baseGui);
- glVertex3d(0.0, alturaTapete, 0.0);
- glEnd();
- //face parede curva
- glBegin(GL_POLYGON);
- glNormal3d(-1.0,0.0,0.0); // esta normal fica comum aos 4 vertices
- glVertex3d(baseGui, 0.0, 0.0);
- glVertex3d(baseGui, alturaTapete, 0.0);
- glVertex3d(baseGui, alturaTapete, baseGui);
- glVertex3d(baseGui, 0.0 , baseGui);
- glEnd();
- //face frente
- glBegin(GL_POLYGON);
- glNormal3d(-1.0,0.0,0.0); // esta normal fica comum aos 4 vertices
- glVertex3d(0.0, 0.0, baseGui);
- glVertex3d(baseGui, 0.0 , baseGui);
- glVertex3d(baseGui, alturaTapete, baseGui);
- glVertex3d(0.0, alturaTapete, baseGui);
- glEnd();
- // face porta
- glBegin(GL_POLYGON);
- glNormal3d(-1.0,0.0,0.0); // esta normal fica comum aos 4 vertices
- glVertex3d(0.0, 0.0, 0.0);
- glVertex3d(0.0, alturaTapete, 0.0);
- glVertex3d(baseGui, alturaTapete, 0.0);
- glVertex3d(baseGui, 0.0 , 0.0);
- glEnd();
- //topo
- glBegin(GL_POLYGON);
- glNormal3d(1.0,0.0,0.0); // esta normal fica comum aos 4 vertices
- glVertex3d(0.0, alturaTapete, baseGui);
- glVertex3d(baseGui, alturaTapete, baseGui);
- glVertex3d(baseGui, alturaTapete, 0.0);
- glVertex3d(0.0, alturaTapete , 0.0);
- glEnd();
- }
- void desenhaTapete(){
- glDisable(GL_CULL_FACE);
- // face janela
- glBegin(GL_POLYGON);
- glNormal3d(0.0,0.0,-1.0); // esta normal fica comum aos 4 vertices
- glVertex3d(0.0, 0.0, 0.0); // associacao de
- glVertex3d(0.0, 0.0, roomZ/2); // coordenadas u,v
- glVertex3d(0.0, alturaImp/2, roomZ/2); // das texturas, aos
- glVertex3d(0.0, alturaImp/2, 0.0); // vertices 3D do poligono
- glEnd();
- // face parede curva
- glBegin(GL_POLYGON);
- glNormal3d(0.0,0.0,1.0); // esta normal fica comum aos 4 vertices
- glVertex3d(larguraTapete, 0.0, 0.0); // associacao de
- glVertex3d(larguraTapete, 0.0, roomZ/2); // coordenadas u,v
- glVertex3d(larguraTapete, alturaImp/2, roomZ/2); // das texturas, aos
- glVertex3d(larguraTapete, alturaImp/2, 0.0); // vertices 3D do poligono
- glEnd();
- // face superior
- glBegin(GL_POLYGON);
- glNormal3d(1.0,0.0,0.0); // esta normal fica comum aos 4 vertices
- glVertex3d(0.0, alturaImp/2, 0.0); // associacao de
- glVertex3d(0.0, alturaImp/2, roomZ/2); // coordenadas u,v
- glVertex3d(larguraTapete, alturaImp/2, roomZ/2); // das texturas, aos
- glVertex3d(larguraTapete, alturaImp/2, 0.0); // vertices 3D do poligono
- glEnd();
- // face inferior
- glBegin(GL_POLYGON);
- glNormal3d(-1.0,0.0,0.0); // esta normal fica comum aos 4 vertices
- glVertex3d(0.0, 0.0, 0.0); // associacao de
- glVertex3d(0.0, 0.0, roomZ/2); // coordenadas u,v
- glVertex3d(larguraTapete,0.0, roomZ/2); // das texturas, aos
- glVertex3d(larguraTapete, 0.0, 0.0); // vertices 3D do poligono
- glEnd();
- // face frente
- glBegin(GL_POLYGON);
- glNormal3d(1.0,0.0,0.0); // esta normal fica comum aos 4 vertices
- glVertex3d(0.0, 0.0, roomZ/2); // associacao de
- glVertex3d(larguraTapete,0.0 , roomZ/2); // coordenadas u,v
- glVertex3d(larguraTapete,alturaImp/2, roomZ/2); // das texturas, aos
- glVertex3d(0.0, alturaImp/2, roomZ/2); // vertices 3D do poligono
- glEnd();
- // face parede porta
- glBegin(GL_POLYGON);
- glNormal3d(-1.0,0.0,0.0); // esta normal fica comum aos 4 vertices
- glVertex3d(0.0, 0.0, 0.0); // associacao de
- glVertex3d(larguraTapete,0.0 , 0.0); // coordenadas u,v
- glVertex3d(larguraTapete,alturaImp/2, 0.0); // das texturas, aos
- glVertex3d(0.0, alturaImp/2, 0.0); // vertices 3D do poligono
- glEnd();
- glEnable(GL_CULL_FACE);
- }
- void desenhaImpressora(){
- glDisable(GL_CULL_FACE);
- // face janela
- glColor3f(1.0,0.0,1.0);
- glBegin(GL_POLYGON);
- glNormal3d(0.0,0.0,-1.0); // esta normal fica comum aos 4 vertices
- glVertex3d(0.0, 0.0, 0.0); // associacao de
- glVertex3d(0.0, 0.0, comprimentoImp); // coordenadas u,v
- glVertex3d(0.0, alturaImp, comprimentoImp); // das texturas, aos
- glVertex3d(0.0, alturaImp, 0.0); // vertices 3D do poligono
- glEnd();
- // face parede curva
- glColor3f(1.0,0.0,1.0);
- glBegin(GL_POLYGON);
- glNormal3d(0.0,0.0,1.0); // esta normal fica comum aos 4 vertices
- glVertex3d(larguraImp, 0.0, 0.0);
- glVertex3d(larguraImp, alturaImp, 0.0);
- glVertex3d(larguraImp, alturaImp, comprimentoImp);
- glVertex3d(larguraImp, 0.0, comprimentoImp);
- glEnd();
- // face superior
- glColor3f(1.0,0.0,1.0);
- glBegin(GL_POLYGON);
- glNormal3d(0.0,1.0,0.0); // esta normal fica comum aos 4 vertices
- glVertex3d(0.0, alturaImp, 0.0); // associacao de
- glVertex3d(0.0, alturaImp, comprimentoImp); // coordenadas u,v
- glVertex3d(larguraImp, alturaImp, comprimentoImp); // das texturas, aos
- glVertex3d(larguraImp, alturaImp, 0.0); // vertices 3D do poligono
- glEnd();
- // face inferior
- glColor3f(1.0,0.0,1.0);
- glBegin(GL_POLYGON);
- glNormal3d(0.0,-1.0,0.0); // esta normal fica comum aos 4 vertices
- glVertex3d(0.0, 0.0, 0.0); // associacao de
- glVertex3d(0.0, 0.0, comprimentoImp); // coordenadas u,v
- glVertex3d(larguraImp, 0.0, comprimentoImp); // das texturas, aos
- glVertex3d(larguraImp, 0.0, 0.0); // vertices 3D do poligono
- glEnd();
- // face parede porta
- glColor3f(1.0,0.0,1.0);
- glBegin(GL_POLYGON);
- glNormal3d(-1.0,0.0,0.0); // esta normal fica comum aos 4 vertices
- glVertex3d(0.0, 0.0, 0.0); // associacao de
- glVertex3d(0.0, alturaImp, 0.0); // coordenadas u,v
- glVertex3d(larguraImp, alturaImp, 0.0); // das texturas, aos
- glVertex3d(larguraImp, 0.0, 0.0); // vertices 3D do poligono
- glEnd();
- // face frente esq
- glColor3f(1.0,0.0,1.0);
- glBegin(GL_POLYGON);
- glNormal3d(1.0,0.0,0.0); // esta normal fica comum aos 4 vertices
- glVertex3d(0.0, 0.0, comprimentoImp); // associacao de
- glVertex3d(larguraFrenteImp, 0.0, comprimentoImp); // coordenadas u,v
- glVertex3d(larguraFrenteImp, alturaImp, comprimentoImp); // das texturas, aos
- glVertex3d(0.0, alturaImp, comprimentoImp); // vertices 3D do poligono
- glEnd();
- // face frente cima
- glColor3f(1.0,0.0,1.0);
- glBegin(GL_POLYGON);
- glNormal3d(1.0,0.0,0.0); // esta normal fica comum aos 4 vertices
- glVertex3d(larguraFrenteImp, alturaImp-larguraFrenteImp, comprimentoImp); // associacao de
- glVertex3d(larguraImp-larguraFrenteImp, alturaImp-larguraFrenteImp, comprimentoImp); // coordenadas u,v
- glVertex3d(larguraImp-larguraFrenteImp, alturaImp, comprimentoImp); // das texturas, aos
- glVertex3d(larguraFrenteImp, alturaImp, comprimentoImp); // vertices 3D do poligono
- glEnd();
- // face frente direita
- glColor3f(1.0,0.0,1.0);
- glBegin(GL_POLYGON);
- glNormal3d(1.0,0.0,0.0); // esta normal fica comum aos 4 vertices
- glVertex3d(larguraImp-larguraFrenteImp, 0.0, comprimentoImp); // associacao de
- glVertex3d(larguraImp, 0.0, comprimentoImp); // coordenadas u,v
- glVertex3d(larguraImp, alturaImp, comprimentoImp); // das texturas, aos
- glVertex3d(larguraImp-larguraFrenteImp, alturaImp, comprimentoImp); // vertices 3D do poligono
- glEnd();
- //desenha e altera posicao tapete
- glPushMatrix();
- glColor3f(1.0,0.0,0.0);
- glTranslated(larguraFrenteImp,0.0,comprimentoImp);
- desenhaTapete();
- glPopMatrix();
- glPushMatrix();
- glColor3f(1.0,1.0,1.0);
- glTranslated(larguraFrenteImp,alturaTapete,comprimentoImp+(roomY/4));
- desenhaBaseGuilhotina();
- glTranslated(larguraTapete-baseGui,0.0,0.0);
- desenhaBaseGuilhotina();
- glPopMatrix();
- glPushMatrix();
- glTranslated(larguraImp/2,alturaImp+1.5,comprimentoImp/2);
- glutSolidTeapot(1.5);
- glPopMatrix();
- glEnable(GL_CULL_FACE);
- }
- void desenhaParedePorta(){
- glEnable(GL_COLOR_MATERIAL);
- // parte esquerda porta
- glColor3f(1.0,0.0,1.0);
- glBegin(GL_POLYGON);
- glNormal3d(0.0,0.0,1.0); // esta normal fica comum aos 4 vertices
- glVertex3d(-roomX, 0.0, -roomZ); // associacao de
- glVertex3d(roomX/3, 0.0, -roomZ); // coordenadas u,v
- glVertex3d(roomX/3, roomY, -roomZ); // das texturas, aos
- glVertex3d(-roomX, roomY, -roomZ); // vertices 3D do poligono
- glEnd();
- // parte cima porta
- glColor3f(1.0,0.0,1.0);
- glBegin(GL_POLYGON);
- glNormal3d(0.0,0.0,1.0); // esta normal fica comum aos 4 vertices
- glVertex3d(roomX/3, roomY/2, -roomZ); // associacao de
- glVertex3d((roomX/3)*2, roomY/2, -roomZ); // coordenadas u,v
- glVertex3d((roomX/3)*2, roomY, -roomZ); // das texturas, aos
- glVertex3d((roomX/3), roomY, -roomZ); // vertices 3D do poligono
- glEnd();
- // parte direita porta
- glColor3f(1.0,0.0,1.0);
- glBegin(GL_POLYGON);
- glNormal3d(0.0,0.0,1.0); // esta normal fica comum aos 4 vertices
- glVertex3d((roomX/3)*2, 0.0, -roomZ); // associacao de
- glVertex3d(roomX, 0.0, -roomZ); // coordenadas u,v
- glVertex3d(roomX, roomY, -roomZ); // das texturas, aos
- glVertex3d((roomX/3)*2, roomY, -roomZ); // vertices 3D do poligono
- glEnd();
- }
Add Comment
Please, Sign In to add comment