Desenho de objetos em OpenGL -- Computação Gráfica |
jSSessão 4.6 |
4.6. Posição da Câmera |
Conforme dito nos tópicos anteriores,
caso você não especifique uma matriz de projeção, ou seja, caso você
faça a projeção com os comandos glOrtho ou glFrustum, o OpenGL especifica
uma matriz default, na qual a câmera está alinhada com o eixo z.
Isso significa que se você desenhar um cubo verá um
quadrado.
|
||
Posição inicial da câmera |
||
|
||
As
mudanças feitas em relação a matriz Model-View (matriz de
visualização) movem o mundo em
relação a câmera, afetando assim a visualização dos objetos. Para
modificar a matriz Model-View é necessário o seguinte comando :
>> glMatrixMode(GL_MODELVIEW); Cada operação realizada na matriz de visualização será realizada também em cada vértice dos objetos a serem desenhados. Basta inserir o seguinte código depois da declaração da projeção. >>
glMatrixMode( GL_MODELVIEW ); Repare que a matriz Model-View está sendo modificada através dos comandos Rotate e Translate, fato esse que moverá o mundo de acordo com as transformações geométricas específicadas em relação a câmera. Voltando ao exemplo da projeção paralela ortogonal que visualiza duas pirâmides, podemos a partir daí criar um novo exemplo, no qual a câmera vai ter posição diferente. Na primeira figura, a câmera está alinhada ao eixo Z e na segunda foi feitas algumas transformações geométricas na matriz de visualização. Veja os resultados:
|
||
[anterior] |
[próxima] |