【发布时间】:2011-06-06 20:01:18
【问题描述】:
当我在模拟器上运行我的程序时,它会显示一个ImageView 初始屏幕,然后在应用程序的其余部分显示一个黑屏,它使用GLSurfaceViews。 OGL 在我的手机上运行良好。我已经在两台计算机(低性能和高性能)上测试了该程序,并且都没有显示 GLSurfaceViews。我还使用 Google apidemos 网站上的一些 OGL 演示测试了模拟器,并且演示不会在两台计算机上显示。我的程序使用 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);
}
【问题讨论】: