Computação Gráfica 2
a) Descreva as etapas do pipeline de visualização OpenGL.
A princípio os comandos são colocados em um buffer de comandos. Este buffer é preenchido com comandos, vértices, dados de textura, etc. Quando este buffer é "esvaziado", os comandos e dados são passados para o próximo estágio. No próximo estágio, podem ocorrer transformações e também serem incorporados objetos para fins de iluminação da cena. Após isso, é feita a rasterização, isto é, é gerada a imagem a partir dos dados geométricos de cor e textura e adaptada para a dimensão desejada. Por fim, esta então é colocada no frame buffer, que é a memória do dispositivo gráfico.
b) O que você entende por volume de visão e planos de recorte em uma cena 3D ?
O volume de visão define a região de interesse da cena. Quaisquer objetos 3D que estejão fora do volume de visão não podem ser vistos pela câmera. Os planos de recorte são definidos para descartar os objetos 3D localizados muito distantes ou muito próximos à câmera.
c) Descreva as instruções OpenGL e respectivos parâmetros para representar uma projeção Ortográfica e projeção Perspectiva em OpenGL
A instrução “gluOrtho2D (0.0f, 250.0f*w/h, 0.0f, 250.0f);” determina que a projeção ortográfica será a utilizada. A instrução “gluPerspective(angle,fAspect,0.1,500);” determina que a projeção perspectiva será a utilizada.
d) Descreva as instruções OpenGL e respectivos parâmetros para representar as transformações geométricas 3D de um objeto. Cite exemplos para as transformações geométricas de escala, translação e rotação.
A translação é feita através da função glTranslatef(Tx, Ty, Tz). A matriz atual é multiplacada por uma matriz de translação baseada nos valores passados. A rotação é feita através da glRotatef(ângulo, x, y, z). A matriz atual é multiplicada por uma matriz de rotação correspondente ao ângulo e aos eixos passados. A escala é feita através da função glScalef(Ex, Ey, Ez). A matriz atual