OpenGL ES в полноэкранном режиме на Android - PullRequest
1 голос
/ 18 сентября 2011

Я уверен, что есть очень простое решение, но со мной, это моя первая попытка кодирования с OpenGL.

Я посмотрел несколько уроков по прочтению группы по OpenGL, сейчас я просто транслирую некоторые растровые изображения на экране. Когда он на моем телефоне, он выглядит нормально, но когда я пытаюсь запустить его на своем планшете, он выглядит так, как будто он ограничен экраном размером с мой телефон (примерно). Очевидно, я хочу, чтобы он масштабировался до размера экрана, что я тут не так делаю? Я приложил некоторый код и вот скриншот того, что происходит (я сделал фон красным, чтобы было легко понять, о чем я говорю). Спасибо!

public void onSurfaceCreated(GL10 gl, EGLConfig config) {       
    //Settings
    gl.glEnable(GL10.GL_TEXTURE_2D);                    //Enable Texture Mapping
    gl.glShadeModel(GL10.GL_SMOOTH);                    //Enable Smooth Shading
    gl.glClearColor(1.0f, 0.0f, 0.0f, 0.5f);            //Black Background
    gl.glClearDepthf(1.0f);                             //Depth Buffer Setup

    //Really Nice Perspective Calculations
    gl.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT, GL10.GL_NICEST);

    gl.glEnable(GL10.GL_BLEND);                         //Enable blending
    gl.glDisable(GL10.GL_DEPTH_TEST);                   //Disable depth test
    gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE);     //Set The Blending Function For Translucency        

    //Initiate our stars class with the number of stars
    stars = new Stars(num);
    //Load the texture for the stars once during Surface creation
    stars.loadGLTexture(gl, this.context);
}

public void onSurfaceChanged(GL10 gl, int width, int height) {
    /*if(height == 0) {                         //Prevent A Divide By Zero By
        height = 1;                         //Making Height Equal One
    }*/

    gl.glViewport(0, 0, width, height);     //Reset The Current Viewport
    gl.glMatrixMode(GL10.GL_PROJECTION);    //Select The Projection Matrix
    gl.glLoadIdentity();                    //Reset The Projection Matrix


    //Calculate The Aspect Ratio Of The Window
    GLU.gluPerspective(gl, 45.0f, (float)width / (float)height, 0.1f, 100.0f);

    gl.glMatrixMode(GL10.GL_MODELVIEW);     //Select The Modelview Matrix
    gl.glLoadIdentity();                    //Reset The Modelview Matrix
}

Если вам нужен какой-либо другой код, пожалуйста, спросите, я предполагаю, что моя проблема где-то там.

Вот скриншот enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...