Skip to content

Commit

Permalink
add doc
Browse files Browse the repository at this point in the history
  • Loading branch information
dingjikerbo committed Nov 27, 2018
1 parent cc30ab1 commit 39d023a
Show file tree
Hide file tree
Showing 4 changed files with 83 additions and 80 deletions.
151 changes: 75 additions & 76 deletions .idea/workspace.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion README.md
Expand Up @@ -12,7 +12,7 @@
|3|GLSurfacePreview3|[直接给相机的预览纹理绘制到屏幕](doc/glsurfacepreview3.md)|Done|
|4|SurfacePreview|[拿到相机帧数据,直接绘制到屏幕](doc/surfacepreview.md)|Done|
|5|SurfacePreview2|[拿到相机帧数据,先绘制到PBuffer,再Blit到WindowSurface](doc/surfacepreview2.md)|Done|
|6|MultiSurfacePreview|[相机预览到两个SurfaceView,共享EglContext,先绘制到Texture,再将Texture处理后Draw到另一个Surface](doc/multisurfacepreview.md)|Done|
|6|MultiSurfacePreview|[拿到相机帧数据,先转成纹理,再分别绘制到两个SurfaceView](doc/multisurfacepreview.md)|Done|

## **二、RGB转换**
利用GPU将相机帧(NV21)转成RGB并传至CPU,帧为1920 * 1080,RGBA
Expand Down
7 changes: 7 additions & 0 deletions doc/multisurfacepreview.md
@@ -0,0 +1,7 @@
# multisurfacepreview工程

本工程的意义在于要展示如何共享gl上下文。先在主surfaceview中将相机帧绘制到纹理上,然后将纹理绘制到屏幕上显示。另外开一个mini surfaceview,用于同步显示滤镜效果,需要复用主surfaceview中的纹理,但是这两个surfaceview的gl上下文不同,如何能共享纹理呢?

所谓的gl上下文就是EGLContext,而纹理是和gl上下文绑定的,即对于两个surfaceview,由于各自有独立的gl上下文,所以纹理是不能共享的。

如果要做到纹理共享,需在创建gl上下文时指定sharedContext。这样在surfaceviewA的gl上下文中创建的纹理对于surfaceviewB也是可用的。
Expand Up @@ -81,9 +81,6 @@ public void onSurfaceCreated(SurfaceHolder holder) {
mEglCore = new EglCore(null, EglCore.FLAG_TRY_GLES3);
mWindowSurface = new WindowSurface(mEglCore, holder.getSurface(), false);
mWindowSurface.makeCurrent();

EGLContext context = EGL14.eglGetCurrentContext();
LogUtils.v(String.format("%s eglContext = %s", getClass().getSimpleName(), context));
}

private void prepareFrameBuffer(int width, int height) {
Expand Down

0 comments on commit 39d023a

Please sign in to comment.