Não tenho uma compreensão clara do que é exatamente a diferença entre as coordenadas da câmera e as coordenadas da janela de visualização. Alguém pode esclarecer?
Câmera é como uma câmera com a qual o filme do Batman é filmado. Ele existe em um mundo virtual e pode ser movimentado, visando diferentes cenas, alterando a distância focal e outras propriedades da câmera. Você pode ter muitas câmeras e alternar entre elas. Você pode até filmar em várias câmeras ao mesmo tempo.
As coordenadas típicas da câmera são: posição no mundo virtual, direção da face, vetor ascendente, campo de visão etc.
Viewport é uma tela de cinema. É um local onde a imagem gravada pela câmera é mostrada. No mundo dos PCs, é uma área da tela em alguma janela ou imagem em tela cheia. Você pode mostrar feeds de várias câmeras ao mesmo tempo (como nos jogos de corrida de console entre 2-4 jogadores).
As coordenadas típicas da janela de visualização são: posição na tela, altura e largura.
As coordenadas da janela de visualização são as coordenadas em que são colocadas na tela. (Por exemplo, dentro de uma janela win32).
As coordenadas da câmera são a posição da câmera DENTRO da janela de exibição, que fica dentro do espaço 2D / 3D que você definiu no aplicativo OpenGL. A câmera não pode sair dessa janela de exibição porque está no espaço que você definiu onde o opengl pode fazer seu trabalho, dentro de uma janela do Win32.
glScissor (...)
).