2015-12-30 2 views
0

Я хочу сделать изображение в OpenGL ES20 для моего приложения для Android. Потому что я действительно новым для OpenGL я использовал пример из enter link description hereКоординаты экрана OpenGLES20 для NDC

Я уже определены объекты, используя систему NDC [-1, 1] , но в этом примере вы должны определить вершины, используя экранные координаты. Мой вопрос сейчас: Как я могу изменить систему координат экрана обратно в систему NDC?

PS: я думаю, что проблема лежит в этой части кода:

@Override 
public void onSurfaceChanged(GL10 gl, int width, int height) {  
    // We need to know the current width and height. 
    mScreenWidth = width; 
    mScreenHeight = height; 

    // Redo the Viewport, making it fullscreen. 
    GLES20.glViewport(0, 0, width, height); 

    // Clear our matrices 
    for(int i=0;i<16;i++) 
    { 
     mtrxProjection[i] = 0.0f; 
     mtrxView[i] = 0.0f; 
     mtrxProjectionAndView[i] = 0.0f; 
    } 

    // Setup our screen width and height for normal sprite translation. 
    Matrix.orthoM(mtrxProjection, 0, 0f, width, 0.0f, height, 0, 50); 

    // Set the camera position (View matrix) 
    Matrix.setLookAtM(mtrxView, 0, 0f, 0f, 1f, 0f, 0f, 0f, 0f, 1.0f, 0.0f); 

    // Calculate the projection and view transformation 
    Matrix.multiplyMM(mtrxProjectionAndView, 0, mtrxProjection, 0, mtrxView, 0); 
} 

Спасибо всем ответившим !!

ответ

0

Я узнаю, как это сделать! Итак, для всех, кто хочет это знать:

Matrix.orthoM (mtrxProjection, 0, -1f, 1, -1f, 1, -1, 1);

Смежные вопросы