在opengl es中有一种方法可以知道加载纹理的时间吗?

时间:2012-10-27 18:45:46

标签: android button opengl-es textures

我在一些xml按钮下面有一个Glsurfaceview。当我开始我的应用程序时,glsurfaceview显示黑屏几秒钟,大概是因为它正在加载纹理。问题是按钮首先加载,所以我会在黑色屏幕上显示一个可见按钮,直到纹理加载,然后它不再是黑屏。有没有办法同时使surfaceview和按钮加载,这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:0)

添加GLSurface视图后添加Button布局。

 addContentView(mGlView, new LayoutParams(
                        LayoutParams.FILL_PARENT,
                        LayoutParams.FILL_PARENT));

 // Camera Control
 cameraLayoutInflater = LayoutInflater.from(getBaseContext());
 View cameraControl = cameraLayoutInflater.inflate(R.layout.camera_control, null);
 addContentView(cameraControl, new LayoutParams(
                        LayoutParams.FILL_PARENT,
                        LayoutParams.FILL_PARENT));

我就是这样做的,而Button的布局总是在顶部。 您也可以查看以下链接: http://android-er.blogspot.se/2010/12/add-overlay-on-camera-preview.html

答案 1 :(得分:0)

完成glTexImage2D调用后会加载纹理

添加按钮时只需使按钮不可见

然后在完成所有glTexImage2D调用后,使该按钮可见

仅供参考,除非您故意异步加载图像,否则当您看到黑色表面视图时,UI线程实际上并未沿着

移动