OpenGL ES: рисование с использованием текстурного атласа - PullRequest
1 голос
/ 18 сентября 2011

Я пытаюсь разработать Android 2D-игру, используя OpenGL ES, которая использует мозаичную карту, и я слышал, что лучше всего хранить плитки в атласе текстуры (одно большое растровое изображение с несколькими плитками) из соображений производительности.

У кого-нибудь есть пример кода, который демонстрирует, как нарисовать плитку из текстурного атласа в Android OpenGL ES?

onDrawFrame(GL10 gl) {
    ...
}

1 Ответ

1 голос
/ 18 сентября 2011

Ну, я понял, как это сделать.

onDrawFrame(GL10 gl) {
    ...

    int[] crop = new int[4];
    crop[0] = tileWidth * tileIndex;  // tileIndex represents the nth tile in the texture atlas
    crop[1] = tileHeight;
    crop[2] = tileWidth;
    crop[3] = -tileHeight;

    // specify the source rectangle 
    ((GL11) gl).glTexParameteriv(GL10.GL_TEXTURE_2D, GL11Ext.GL_TEXTURE_CROP_RECT_OES, crop, 0);

    // draw the texture
    ((GL11Ext)gl).glDrawTexiOES(x, y, 0, tileWidth, tileHeight);

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