[英]Setting up Android OpenGl ES Environment fails
我想学习如何将OpenGL用于Android。 因此,我遵循本指南来设置环境。 我已经按照他们说的做了所有事情:我有一个OpenGLActivity
可以启动MyGLSurfaceView
:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
glSurfaceView = new MyGLSurfaceView(this);
setContentView(R.layout.activity_open_gl);
}
这是我的MyGLSurfaceView
:
class MyGLSurfaceView extends GLSurfaceView {
private final MyGLRenderer mRenderer;
public MyGLSurfaceView(Context context) {
super(context);
// Create an OpenGL ES 2.0 context
setEGLContextClientVersion(2);
mRenderer = new MyGLRenderer();
// Set the Renderer for drawing on the GLSurfaceView
setRenderer(mRenderer);
}
}
那就是我的MyGLRenderder
类,应该将背景设置为黑色:
public class MyGLRenderer implements Renderer {
public void onSurfaceCreated(GL10 unused, EGLConfig config) {
// Set the background frame color
GLES20.glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
}
public void onDrawFrame(GL10 unused) {
// Redraw background color
GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
}
public void onSurfaceChanged(GL10 unused, int width, int height) {
GLES20.glViewport(0, 0, width, height);
}
}
并且我已经将此行添加到我的AndroidManifest.xml
(就在开头,在<application>
标记之前)
<uses-feature android:glEsVersion="0x00020000" android:required="true" />
问题在于背景不是黑色,而是白色。 我想念什么吗?
您实际上并没有显示OpenGL视图。 在此代码中:
glSurfaceView = new MyGLSurfaceView(this);
setContentView(R.layout.activity_open_gl);
您将内容视图设置为布局中的视图,而没有使用刚刚创建的GLSurfaceView
。 它应该是:
glSurfaceView = new MyGLSurfaceView(this);
setContentView(glSurfaceView);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.