Ejemplo n.º 1
0
/* GLUT callback Handlers */
void objeto(){

    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();

    glColor3f(redObjeto,greenObjeto,blueObjeto);

    switch(primitiva){

        case QUADRADO:
            DesenhaQuadrado();
            break;

        case TRIANGULO:
            DesenhaTriangulo();
            break;

        case POLIGONO:
            DesenhaPoligono();
            break;

    }

    DesenhaBotoes();

}
Ejemplo n.º 2
0
// Função que desenha
// Executada sempre que ocorre qualquer evento de janela
void Display(void)
	{
	 // Limpa a janela com a cor especificada como cor de fundo
	 glClear(GL_COLOR_BUFFER_BIT);
    
    // Chamadas de funções OpenGL para desenho
    // Os pontos correspondem a geometria do objeto relativa a (0,0)
    
     // Indica que a matriz de transformação a ser alterada é a MODEL_VIEW
     glMatrixMode(GL_MODELVIEW);
     glLoadIdentity();
     
     // Desenha eixos
     glColor3f(1.0f, 0.0f, 0.0f); // eixos vermelhos
     glBegin(GL_LINES);
       glVertex2f (0.0, -1.0);
       glVertex2f (0.0, 1.0);
       glVertex2f (-1.0, 0.0);
       glVertex2f (1.0, 0.0);
     glEnd();
  
     //  a sequencia a seguir é composta de modo que a ordem de aplicacao das
     //  transformacoes é escala - rotacao - translacao
     
     glColor3f(1.0, 0.0, 0.0);
     DesenhaTriangulo();                // triangulo original
     
     glTranslatef (xDesloc, 0.0,0.0);   // translacao  em X
     glColor3f(1.0, 1.0, 0.0);
     DesenhaTriangulo();            
     
     glTranslatef(0.0,yDesloc, 0.0);    // translacao  em Y
     glColor3f(0.0, 1.0, 1.0);
     DesenhaTriangulo();

     glRotatef (vRot,0.0, 0.0, 1.0);    // rotacao de 30 graus antihorario
     glColor3f(0.0, 1.0, 0.0);
     DesenhaTriangulo();
     
     glScalef (xScale, yScale, 1.0);    // escalamento de 0.5 em X e Y
     glColor3f(0.0, 0.0, 0.0);
     DesenhaTriangulo();                // todas as transformacoes acumuladas
                              
	// Alterna o buffer de geracao da imagem; contem um "flush" implicito
     glutSwapBuffers();
	  
    }