开发者

OpenGL ES 2.0 equivalent of glOrtho()?

In my iphone app, I need to project 3d scene into the 2D coordinates of the screen for some c开发者_StackOverflow中文版alculations. My objects go through various rotations, translations and scaling. So I figured I need to multiply the vertices with ModelView matrix first, then I need to multiply it with the Orthogonal projection matrix.

First of all am on the right track?

I have the Model View Matrix, but need the projection matrix. Is there a glOrtho() equivalent in ES 2.0?


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;

For a fixed resolution (1024x768 in my case for iPad) I used this matrix and everything works like charm :) Here is complete description what values you need to put in your matrix: glOrtho.html


The manual page for glOrtho() describes the equivalent operations, so as long as you have the matrix handy should be able re-implement it.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜