Sign in to follow this  

Why is this like this? (ipad/desktop) difference

This topic is 2034 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I am making an orthographic projection for a fullscreen quad for post processing.
On the desktop I do the usual projection matrix using my favourite math library, but on the ipad only the top function would work. I still cant quite understand why, I obtained the iPad value through trial and error. Those values are left, right, bottom, top.

#ifdef IPAD
GLGXMatrixOrthoOffCenter2D(&Ortho, 0.5, 1.0, 0.5, 1.0); //iPad ortho matrix
#else
GLGXMatrixOrthoOffCenter2D(&Ortho, -1.0, 1.0, -1.0, 1.0); //Desktop ortho matrix
#endif

Share this post


Link to post
Share on other sites
If all else is equal, this is equal too. In other words, you have just swept a bug under the carpet by using a hack to get the desired result. There is something else wrong somewhere else in your code. An incorrect viewport, transform matrix, or vertex positions, for example. My engine runs on Windows, Macintosh OS X, and iOS devices using OpenGL or OpenGL ES 2, and in these cases there is no difference in the results if all of the same matrices, shaders, viewports, etc. are used.

It is also possible that the library you are using changes for each platform.
If you can verify this is not the case, then you should start looking elsewhere for differences between the environments.

Although if this is just for post-processing, it would be more efficient to simply make a quad with vertices at [-1, -1], [1, -1], [-1, 1], and [1, 1] and perform no matrix transform on them. Not only is it faster (avoids matrix multiply, which does nothing but put the vertices into those positions anyway), it also guarantees the same result on all platforms.


L. Spiro

Share this post


Link to post
Share on other sites

This topic is 2034 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this