Попытка реализовать VBO в OPENGL 2 на API 8 (2.2) - PullRequest
1 голос
/ 07 января 2012

Я застрял на том, как рассказать Open Gl о компоновке моего VBO, или, вернее, сказать программе, где вещи.

//bind buffer
GLES20.glBindBuffer(GLES20.GL_ARRAY_BUFFER, vboBuffer);
//find shader attribute
int ref = GLES20.glGetAttribLocation(mProgram, "aPosition");
//set up vertex
GLES20.glVertexAttribPointer(maPositionHandle, 3,
                             GLES20.GL_FLOAT, false,
                TRIANGLE_VERTICES_DATA_STRIDE_BYTES, ???);
//enable attrib
GLES20.glEnableVertexAttribArray(maPositionHandle);

И повторите для нормалей и текстурных координат.

Однако в API 8 есть только:

glVertexAttribPointer(int indx, int size, int type,
                      boolean normalized, int stride, Buffer ptr)

а не:

glVertexAttribPointer(int indx, int size, int type,
                      boolean normalized, int stride, int offset)

Так что, если я не могу добавить смещение в API 8, что я могу указать в параметре Buffer?

1 Ответ

1 голос
/ 16 января 2012

К сожалению, VBO нельзя использовать с API 8 (Android 2.2).Вам необходимо обновить до API 9 (Android 2.3), где эта ошибка была исправлена.Или вы должны придерживаться старого хорошего ByteBuffer.

Надеюсь, это поможет ...

...