我正在尝试了解opengl es并遵循教程att android开发人员。第一个非常小的例子 - 他们说屏幕会变成灰色。当我复制这个例子并开始使用我的三星Galaxy SIII应用程序时 - 屏幕变为全黑色,并且顶部屏幕上的操作栏可以看到应用程序名称。所以 - 没有错误 - 除了动作栏之外,几乎覆盖整个屏幕的黑色。 然后在开发者android的扩展示例中,应该绘制形状 - 完全相同的场景 - 只是一个黑屏 - 没有错误。
我想知道发生了什么事。我仔细阅读了教程
这里显示的代码很多,可以在这里轻松下载源代码
http://developer.android.com/training/graphics/opengl/environment.html#manifest
答案 0 :(得分:5)
根据我自己的经验,我可以告诉你,有更好的地方学习Opengl ES而不是android开发者网站。首先 - 他们告诉你灰色屏幕,但实际上他们在代码中设置了一个黑色的清晰颜色:
GLES20.glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
灰色会像这样:例如:
GLES20.glClearColor(0.5f, 0.5f, 0.5f, 1.0f);
其次,如果您使用模拟器,请确保在创建虚拟设备时选中了“使用主机GPU”选项。
第三,你可能必须在调用setRenderer(...)函数之前附加这段代码:
super.setEGLConfigChooser(8 , 8, 8, 8, 16, 0);
setEGLContextClientVersion(2);
至于其他学习OpenGL ES的地方我强烈推荐这个网站: http://androidblog.reindustries.com/tutorials/
和一本书:“Opengl Es 2.0编程指南”
答案 1 :(得分:0)
您应该注意的另一件事 - 确保在创建曲面之前不初始化着色器。