Skip to main content
GameDev.net gamedev.net
🔒 Locked

Problem with ProjMatrix

Started by Florian22222 Dec 30, 2012 at 11:17 AM 0 replies 1.4k views
Original Post
Florian22222
Florian22222

Hey there!

I am working on my own 2d sprite framework for android, but I am struggling with defining the right projection-matrix.

Please take a look at the attached screenshot...

If I use a normal Matrix.frustumM call it works as expected, but as soon as I use orthoM there´s only a line on the screen...

Here´s the code where the projectionmatrix is defined:


@Override
    public void onSurfaceChanged(GL10 unused, int width, int height) {
        // Adjust the viewport based on geometry changes,
        // such as screen rotation
        GLES20.glViewport(0, 0, width, height);
        
        Matrix.orthoM(mProjMatrix, 0, 0, width, 0, height, -1f, 1f);
    }

Here the matrix is used and multiplied by the view matrix:


@Override
    public void onDrawFrame(GL10 unused) {

        // Draw background color
        GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
        
        
        Matrix.setLookAtM(mVMatrix, 0, 0, 0, -3, 0f, 0f, 0f, 0f, 1.0f, 0.0f);
        
        // Calculate the projection and view transformation
        Matrix.multiplyMM(mVPMatrix, 0, mProjMatrix, 0, mVMatrix, 0);
        
        Square.getInstance().draw(mVPMatrix);
    }

Here is a part of the draw()-method where the matrix gets passed to the shader:


// Apply the projection and view transformation
        GLES20.glUniformMatrix4fv(mMVPMatrixHandle, 1, false, mVPMatrix, 0);
Brother Bob
Brother Bob

You should not expect perspective and orthographic projections to give comparable results in general. They are fundamentally different projections.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.