问题描述
|
当我在模拟器上运行程序时,它将显示一个“ 0”初始屏幕,然后显示该应用程序其余部分的黑屏,并使用“ 1”。 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,-.5f,0 };
FloatBuffer vertexSquareBuffer = ByteBuffer.allocateDirect(4 * 3 * 4)
.order(ByteOrder.nativeOrder()).asFloatBuffer();
vertexSquareBuffer.put(vertices);
vertexSquareBuffer.position(0);
gl.glColor4f(1,1,0.5f);
gl.glVertexPointer(3,GL10.GL_FLOAT,vertexSquareBuffer);
gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP,4);
}
解决方法
嗯,有一些可能性。首先,让我们看看在模拟器上是否应该起作用。您能去这里尝试本教程并通过模拟器运行它吗:http://www.droidnova.com/android-3d-game-tutorial-part-i,312.html(首先做一下)
这样,我们就知道问题出在您的代码还是仿真器上。
之后,您可能需要查看是否存在所有必需的共享库。
在评论中让我知道您的情况。