OpenGL ES 2.0 equivalente a glorto ()?
-
27-09-2019 - |
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?
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.