【实例简介】
Android下使用OpenGL渲染yuv420p图像并显示。例子中提供了两种类型,一种使用GLSurfaceView在onDrawframe中调用native方法绘制,另外一种使用EGL,直接在native层完成渲染和显示功能。
【实例截图】
【核心代码】
Android_EGL_YUV420P
├── AndroidOpenGLESYUV-master
│ ├── AndroidManifest.xml
│ ├── bin
│ │ ├── AndroidManifest.xml
│ │ ├── CameraOpenGLES.apk
│ │ ├── classes
│ │ │ └── com
│ │ │ └── cm
│ │ │ ├── cameraopengles
│ │ │ │ ├── BuildConfig.class
│ │ │ │ ├── MainActivity$1.class
│ │ │ │ ├── MainActivity.class
│ │ │ │ ├── R$attr.class
│ │ │ │ ├── R$dimen.class
│ │ │ │ ├── R$drawable.class
│ │ │ │ ├── R$id.class
│ │ │ │ ├── R$layout.class
│ │ │ │ ├── R$menu.class
│ │ │ │ ├── R$string.class
│ │ │ │ ├── R$style.class
│ │ │ │ └── R.class
│ │ │ └── opengles
│ │ │ └── CmOpenGLES.class
│ │ ├── classes.dex
│ │ ├── dexedLibs
│ │ │ └── android-support-v4-09abb7e5c324a76ca9aa70458df51cbc.jar
│ │ ├── jarlist.cache
│ │ ├── res
│ │ │ └── crunch
│ │ │ ├── drawable-hdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── drawable-mdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── drawable-xhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ └── drawable-xxhdpi
│ │ │ └── ic_launcher.png
│ │ └── resources.ap_
│ ├── gen
│ │ └── com
│ │ └── cm
│ │ └── cameraopengles
│ │ ├── BuildConfig.java
│ │ ├── Manifest.java
│ │ └── R.java
│ ├── ic_launcher-web.png
│ ├── jni
│ │ ├── Android.mk
│ │ ├── Application.mk
│ │ ├── CameraOpenGLES.c
│ │ ├── cameraShader.c
│ │ ├── cameraShader.h
│ │ ├── opengles
│ │ │ ├── esUtil.c
│ │ │ ├── esUtil.h
│ │ │ ├── matrix.c
│ │ │ └── matrix.h
│ │ └── zhushi.em
│ ├── libs
│ │ ├── android-support-v4.jar
│ │ ├── armeabi
│ │ │ └── libCameraOpenGLES.so
│ │ └── armeabi-v7a
│ │ └── libCameraOpenGLES.so
│ ├── obj
│ │ └── local
│ │ ├── armeabi
│ │ │ ├── libCameraOpenGLES.so
│ │ │ └── objs
│ │ │ └── CameraOpenGLES
│ │ │ ├── CameraOpenGLES.o
│ │ │ ├── CameraOpenGLES.o.d
│ │ │ ├── cameraShader.o
│ │ │ ├── cameraShader.o.d
│ │ │ └── opengles
│ │ │ ├── esUtil.o
│ │ │ ├── esUtil.o.d
│ │ │ ├── matrix.o
│ │ │ └── matrix.o.d
│ │ └── armeabi-v7a
│ │ ├── libCameraOpenGLES.so
│ │ └── objs
│ │ └── CameraOpenGLES
│ │ ├── CameraOpenGLES.o
│ │ ├── CameraOpenGLES.o.d
│ │ ├── cameraShader.o
│ │ ├── cameraShader.o.d
│ │ └── opengles
│ │ ├── esUtil.o
│ │ ├── esUtil.o.d
│ │ ├── matrix.o
│ │ └── matrix.o.d
│ ├── proguard-project.txt
│ ├── project.properties
│ ├── res
│ │ ├── drawable-hdpi
│ │ │ └── ic_launcher.png
│ │ ├── drawable-mdpi
│ │ │ └── ic_launcher.png
│ │ ├── drawable-xhdpi
│ │ │ └── ic_launcher.png
│ │ ├── drawable-xxhdpi
│ │ │ └── ic_launcher.png
│ │ ├── layout
│ │ │ └── activity_main.xml
│ │ ├── menu
│ │ │ └── main.xml
│ │ ├── values
│ │ │ ├── dimens.xml
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ │ ├── values-v11
│ │ │ └── styles.xml
│ │ ├── values-v14
│ │ │ └── styles.xml
│ │ └── values-w820dp
│ │ └── dimens.xml
│ └── src
│ └── com
│ └── cm
│ ├── cameraopengles
│ │ └── MainActivity.java
│ └── opengles
│ └── CmOpenGLES.java
└── __MACOSX
└── AndroidOpenGLESYUV-master
├── bin
│ ├── classes
│ │ └── com
│ │ └── cm
│ │ ├── cameraopengles
│ │ └── opengles
│ ├── dexedLibs
│ └── res
│ └── crunch
│ ├── drawable-hdpi
│ ├── drawable-mdpi
│ ├── drawable-xhdpi
│ └── drawable-xxhdpi
├── gen
│ └── com
│ └── cm
│ └── cameraopengles
├── jni
│ └── opengles
├── libs
│ ├── armeabi
│ └── armeabi-v7a
├── obj
│ └── local
│ ├── armeabi
│ │ └── objs
│ │ └── CameraOpenGLES
│ │ └── opengles
│ └── armeabi-v7a
│ └── objs
│ └── CameraOpenGLES
│ └── opengles
├── res
│ ├── drawable-hdpi
│ ├── drawable-mdpi
│ ├── drawable-xhdpi
│ ├── drawable-xxhdpi
│ ├── layout
│ ├── menu
│ ├── values
│ ├── values-v11
│ ├── values-v14
│ └── values-w820dp
└── src
└── com
└── cm
├── cameraopengles
└── opengles
99 directories, 75 files