[英]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.