O que é uma animação OpenGL®?
Animação OpenGL® é um termo geral aplicado a qualquer cena que tenha objetos em movimento e é renderizada utilizando as bibliotecas OpenGL®. Do ponto de vista da programação, existem vários métodos que podem ser usados para criar uma animação OpenGL®. Em uma visão mais orientada para gráficos de computador, uma animação OpenGL® pode ser qualquer sequência animada renderizada com o OpenGL®, independentemente de a cena ter sido gerada dentro do código-fonte do programa ou dentro de um programa de modelagem independente. Existem vários tipos de animações que podem ser feitas com o OpenGL® e outras bibliotecas de suporte, mas duas das mais usadas são a animação de quadro-chave e animação esquelética.
O tipo mais básico de animação OpenGL® envolve simplesmente mover um objeto através de uma cena. Isso geralmente é feito alterando a localização de cada uma das coordenadas do vértice igualmente, traduzindo-as lentamente para a posição desejada. A posição da câmera em uma cena também pode ser alterada para criar um efeito de animação, embora a cena inteira permaneça estática nesse caso. Essa forma básica de animação é freqüentemente usada em programas bidimensionais (2D) nos quais os objetos são apenas espaços reservados para exibir texturas.
A animação do quadro-chave é um processo muito mais complexo. Essa forma de animação do OpenGL® envolve pegar um modelo que foi carregado na cena e movê-lo gradualmente para outra posição, chamada quadro-chave. Um exemplo é o modelo de uma mão acenando. A posição inicial da mão é comparada a outro modelo, ou quadro-chave, de animação em que a mão está totalmente estendida. O movimento médio e incremental da mão cria a animação sem a necessidade de armazenar a posição da mão em cada incremento ao longo do caminho.
Outro tipo de animação OpenGL® é conhecido como animação esquelética. Isso envolve a criação de um modelo, geralmente de um humano ou animal articulado, e a criação de um tipo de estrutura óssea dentro do modelo. Cada um dos ossos está ligado, virtualmente, aos vértices circundantes do modelo. Os ossos exercem uma certa força ou peso em cada vértice, de modo que, quando o próprio osso é movido, o modelo circundante reage e a malha que compõe a "pele" do modelo se deforma. Esse tipo de animação leva tempo para criar, mas pode fornecer movimentos muito realistas quando feito corretamente.
Uma animação OpenGL® depende tanto do modelo criado para ser animado quanto da maneira como um programa executa a animação. A maneira mais usada é renderizar quadros de animação em uma área fora da tela conhecida como buffer antes de ser atraída para a tela visível. Isso permite que a imagem seja desenhada completamente, sem que o usuário precise assisti-la se estiver muito lenta. Muitos programas de computador que usam animação OpenGL® também precisam garantir uma taxa de quadros consistente para evitar animações agitadas, o que é realizado cronometrando cada quadro desenhado e aguardando ou acelerando o processo de renderização.