Когда я запускаю свою программу на эмуляторе, она отображает заставку ImageView
, а затем черный экран для остальной части приложения, которое использует GLSurfaceViews
.OGL хорошо работает на моем телефоне.Я протестировал программу на двух компьютерах (с низкой и высокой производительностью), и ни один из них не отображает GLSurfaceViews.Я также протестировал эмулятор, используя некоторые демонстрационные ролики OGL с веб-сайта Google apidemos interweb, и демонстрационные версии не отображаются ни на одном компьютере.Моя программа использует OGL es 1.1, однако я также проверил, используя OGL es 1.0, но безрезультатно.Как я могу отобразить OGL на эмуляторе?Спасибо.
Вот пример простого квадратного кода рендеринга, который не работает на эмуляторе
public void onDrawFrame(GL10 gl) {
//This works
gl.glClearColor(_red, _green, _blue, 1.0f);
gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
//This doesn't
float vertices[] = { .5f, .5f, 0, .5f, -.5f, 0, -.5f, .5f, 0, -.5f, -.5f, 0 };
FloatBuffer vertexSquareBuffer = ByteBuffer.allocateDirect(4 * 3 * 4)
.order(ByteOrder.nativeOrder()).asFloatBuffer();
vertexSquareBuffer.put(vertices);
vertexSquareBuffer.position(0);
gl.glColor4f(1, 1, 0, 0.5f);
gl.glVertexPointer(3, GL10.GL_FLOAT, 0, vertexSquareBuffer);
gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 0,4);
}