Pergunta

No meu aplicativo para iPhone, preciso projetar cena 3D nas coordenadas 2D da tela para alguns cálculos. Meus objetos passam por várias rotações, traduções e escala. Então, imaginei que precisava multiplicar os vértices com a matriz ModelView primeiro, depois preciso multiplicá -la com a matriz de projeção ortogonal.

Primeiro de tudo, estou no caminho certo?

Eu tenho a matriz de exibição do modelo, mas preciso da matriz de projeção. Existe um GLORTHO () equivalente no ES 2.0?

Foi útil?

Solução

mat4 projectionMatrix = mat4( 2.0/768.0, 0.0, 0.0, -1.0,
                              0.0, 2.0/1024.0, 0.0, -1.0,
                              0.0, 0.0, -1.0, 0.0,
                              0.0, 0.0, 0.0, 1.0);                        

gl_Position = position;
gl_Position *= rotationMatrix;
gl_Position.x -= translateX;
gl_Position.y -= translateY;
gl_Position *= projectionMatrix;

Para uma resolução fixa (1024x768 no meu caso para iPad), usei esta matriz e tudo funciona como charme :) Aqui está a descrição completa do que os valores você precisa colocar em sua matriz: GLORTHO.HTML

Outras dicas

o página manual por glOrtho() Descreve as operações equivalentes; portanto, desde que você tenha a matriz útil, deva ser capaz de implementá-la.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top