Animação opengl
Geisa M. Faustino gfaustino@unicarioca.edu.br
ANIMAÇÃO COM OPENGL E GLUT
• Exemplo
quadrado será movido numa direção até bater em uma das bordas da janela e então mudar de direção.
ANIMAÇÃO COM OPENGL E GLUT
• É possível criar um laço que continuamente altera as coordenadas do objeto antes de chamar a função "Desenha". • Isto dá a impressão de que o quadrado se move na janela. • Porém, a biblioteca GLUT fornece a possibilidade de registrar uma função callback que torna mais fácil o processo de fazer uma simples animação. • A função glutTimerFunc pega o nome da função callback que deve ser chamada e o tempo que ela deve esperar antes de chamar a função.
ANIMAÇÃO COM OPENGL E GLUT
glutTimerFunc(33, Timer, 1); Estabelece a função Timer previamente definida como a função callback de animação.
Seu protótipo é: void glutTimerFunc(unsigned int msecs, void (*func)(int value), int value);
Esta função faz a GLUT esperar msecs milisegundos antes de chamar a função func. É possível passar um valor definido pelo usuário no parâmetro value. Como esta função é "disparada" apenas uma vez, para se ter uma animação contínua é necessário reinicializar o timer novamente na função Timer.
void Timer(int value) E a função chamada pela glutTimerFunc. No exemplo, as variáveis utilizadas para determinar a posição do retângulo são atualizadas nesta função.
UTILIZANDO MENUS E EXIBINDO CARACTERES
• A biblioteca GLUT também contém funções para gerenciar menus, exibir caracteres e verificar a posição do mouse na janela em qualquer instante. As funções para realizar estas tarefas estão descritas a seguir.
UTILIZANDO MENUS E EXIBINDO CARACTERES
• glutBitmapCharacter Uma das fontes suportadas pela GLUT é a bitmap, onde cada caracter corresponde a um bitmap que é gerado com a função glBitmap. A função glutBitmapCharacter exibe um caracter deste tipo usando