Programação com OpenGL/Modern OpenGL Tutorial Navegacao: diferenças entre revisões

[edição verificada][edição verificada]
Conteúdo apagado Conteúdo adicionado
Linha 9:
 
== Sistema de coordenadas ==
 
Existem diversas maneiras de posicionar os eixos (X, Y, Z).
[[File:Rechte-hand-regel.jpg|thumb|A regra da mão direita]]
* Z-is-up : Usado pelo Blender, signfica que (X, Y) é o chão, e Z é a altitude
* Y-is-up : Usando pelo OpenGL, significa que (X,Y) é uma parede, assim Y é a altitude, e Z esta perto ou longe desta parede
* Mão-direita / Mão-esquerda: O OpenGL e o Blender usam um sistema de coordenadas da mão direita, que você pode representar usando a sua mão direita, com X no polegar, Y é o indicador, e Z é dedo do meio. o sistema de coordenadas com a mão esquerda, é usado pelo DirectX, podendo representar do mesmo jeito usando a mão esquerda.
 
Usar o Blender Z-is-up no OpenGL pode ser tentador, mas apresenta algumas questões:
* O arquivo .obj normalmente esta como Y-is-up, exigindo mudanças enquanto ele for carregado(ou enquanto é exportado no Blender)
* A camera está em Y-is-up, assim se você usar o Z-is-up, por padrão a camera esta em (0,0,0) ''e'' a face ''abaixo''. Isto é bastante confuso quando a camera for roda, pois por exemplos, se nossa camera está olhando o horizonte no eixo Y, e você rodar no eixo Z, para olhar para direita ou esquerda,você realmente vai rodar a vista no eixo Y (barrel roll). quando for transformar a camera, você tem que imaginar que você grava seu vídeo a partir dos pés.
* Outros motores como o Irrlicht e Ogre também usam o Y-is-up
Por isto vamos ficar com Y-is-up neste livro.
 
== Posicionando a camera ==