Android - OpenGL не отображает с эмулятором? - PullRequest
2 голосов
/ 07 июня 2011

Когда я запускаю свою программу на эмуляторе, она отображает заставку 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);
}

1 Ответ

2 голосов
/ 11 июня 2011

Ну, есть некоторые возможности. Во-первых, давайте посмотрим, работает ли что-то на вашем эмуляторе. Можете ли вы пойти сюда и попробовать этот учебник и запустить его через эмулятор: http://www.droidnova.com/android-3d-game-tutorial-part-i,312.html (сначала выполните этот бит)

Таким образом, мы узнаем, связана ли проблема с вашим кодом или эмулятором.

После этого вам может потребоваться проверить, есть ли в наличии все необходимые библиотеки общих объектов .

Дайте мне знать в комментариях, как вы идете.

...