Trabalho c++ translacao triangulo
#include <gl/glut.h>
// Tamanho e posição inicial do triangulo
GLfloat x1 = 0.0f;
GLfloat y1 = 0.0f;
GLsizei rsize = 70;
// Tamanho do incremento nas direções x e y
// (número de pixels para se mover a cada
// intervalo de tempo)
GLfloat xstep = 1.2f;
GLfloat ystep = 1.0f;
// Largura e altura da janela
GLfloat windowWidth;
GLfloat windowHeight;
// Função callback chamada para fazer o desenho void Desenha(void)
{
glMatrixMode(GL_MODELVIEW); glLoadIdentity(); // Limpa a janela de visualização com a cor de fundo especificada glClear(GL_COLOR_BUFFER_BIT);
// Especifica que a cor corrente é vermelha // R G B glColor3f(1.0f, 0.0f, 0.0f);
// Desenha um quadrado preenchido com a cor corrente
glRotatef(0,1,0,0); glBegin(GL_TRIANGLES); glVertex2i(x1,y1+rsize); glVertex2i(x1,y1); glVertex2i(x1+rsize,y1); glVertex2i(x1+rsize,y1+rsize);
glEnd();
// Executa os comandos OpenGL glutSwapBuffers();
}
// Função callback chamada pela GLUT a cada intervalo de tempo
// (a window não está sendo redimensionada ou movida) void Timer(int value)
{
// Para o triangulo if(x1 > windowWidth-rsize || x1 < 0) xstep = 0;
// Para o triangulo if(y1 > windowHeight-rsize || y1 < 0) ystep = 0; // Verifica as bordas. Se a window for menor e o // triangulo sair do volume de visualização if(x1 > windowWidth-rsize) x1 = windowWidth-rsize-1;
if(y1 > windowHeight-rsize) y1 = windowHeight-rsize-1;
// Move o