小编Joh*_*ohn的帖子

Android使用EGL初始化openGL2.0上下文

我想在本机代码上在Android上进行屏幕外图像处理,因此我需要通过EGL在本机代码中创建openGL上下文.

通过EGL,我们可以创建EGLSurface,我可以看到有三种选择:*EGL_WINDOW_BIT*EGL_PIXMAP_BIT*EGL_BUFFER_BIT

第一个用于屏幕处理,第二个用于屏幕外,因此我使用EGL_PIXMAP_BIT,如下所示:

// Step 1 - Get the default display.
EGLDisplay eglDisplay = eglGetDisplay((EGLNativeDisplayType) 0);
if ((eglDisplay = eglGetDisplay(EGL_DEFAULT_DISPLAY)) == EGL_NO_DISPLAY) {
    LOGH("eglGetDisplay() returned error %d", eglGetError());
    exit(-1);
}

// Step 2 - Initialize EGL.
if (!eglInitialize(eglDisplay, 0, 0)) {
    LOGH("eglInitialize() returned error %d", eglGetError());
    exit(-1);
}

// Step 3 - Make OpenGL ES the current API.
eglBindAPI(EGL_OPENGL_ES_API);

// Step 4 - Specify the required configuration attributes.
EGLint pi32ConfigAttribs[] = { EGL_SURFACE_TYPE, EGL_PIXMAP_BIT,
        EGL_BLUE_SIZE, 8, EGL_GREEN_SIZE, 8, EGL_RED_SIZE, 8, …
Run Code Online (Sandbox Code Playgroud)

android opengl-es egl

9
推荐指数
1
解决办法
9363
查看次数

android httpclient.execute异常

当我在模拟器上测试时,它可以正常工作,但是在使用我的设备(galaxy s3)进行测试时,它会在以下代码中出现错误:

HttpResponse response;
        response = httpclient.execute(httppost);
Run Code Online (Sandbox Code Playgroud)

例外情况:

09-03 08:16:49.018: E/AndroidRuntime(24254): java.lang.RuntimeException: Unable to start activity ComponentInfo{sg.dianping/sg.dianping.activity.ItemListActivity}: android.os.NetworkOnMainThreadException
09-03 08:16:49.018: E/AndroidRuntime(24254):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1970)
09-03 08:16:49.018: E/AndroidRuntime(24254):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995)
09-03 08:16:49.018: E/AndroidRuntime(24254):    at android.app.ActivityThread.access$600(ActivityThread.java:128)
09-03 08:16:49.018: E/AndroidRuntime(24254):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161)
09-03 08:16:49.018: E/AndroidRuntime(24254):    at android.os.Handler.dispatchMessage(Handler.java:99)
09-03 08:16:49.018: E/AndroidRuntime(24254):    at android.os.Looper.loop(Looper.java:137)
09-03 08:16:49.018: E/AndroidRuntime(24254):    at android.app.ActivityThread.main(ActivityThread.java:4517)
09-03 08:16:49.018: E/AndroidRuntime(24254):    at java.lang.reflect.Method.invokeNative(Native Method)
09-03 08:16:49.018: E/AndroidRuntime(24254):    at java.lang.reflect.Method.invoke(Method.java:511)
09-03 08:16:49.018: E/AndroidRuntime(24254):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
09-03 08:16:49.018: E/AndroidRuntime(24254):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)
09-03 08:16:49.018: E/AndroidRuntime(24254):    at dalvik.system.NativeStart.main(Native Method) …
Run Code Online (Sandbox Code Playgroud)

java android galaxy samsung-mobile

6
推荐指数
1
解决办法
8211
查看次数

glDeleteFramebuffers 删除帧缓冲区对象,它是否删除附加到该帧缓冲区的纹理?

平台:Android OpenGL ES 2.0

我正在使用FBO,这个FBO附加了一个纹理,使用后,我使用glDeleteFramebuffers来释放FBO,问题是:我还需要手动释放我创建的纹理吗?或者 glDeleteFramebuffers 也会释放附加到它的纹理?

opengl-es-2.0

6
推荐指数
1
解决办法
4042
查看次数

标签 统计

android ×2

egl ×1

galaxy ×1

java ×1

opengl-es ×1

opengl-es-2.0 ×1

samsung-mobile ×1