我正在创建2个线程。每个线程都有自己的EGL上下文。
一个线程在本地,在其中我将渲染到纹理,另一个线程在Java中,在其中我想从该纹理中采样并将其呈现到屏幕/编码器(无论哪种方式)。
但我做不好。
我尝试在任何一个线程上生成纹理。我注意到的是纹理ID在两个线程上都是重复的(我有其他不应共享的纹理)。
我的问题是,是否可能在两个线程(和上下文)之间共享纹理?
编辑:解决方案
由于Andon和一些Google搜索的帮助,我能够让它工作。我在第一个线程上在Java中创建了一个上下文,然后调用
我的问题是,是否可能在两个线程(和上下文)之间共享纹理?
编辑:解决方案
由于Andon和一些Google搜索的帮助,我能够让它工作。我在第一个线程上在Java中创建了一个上下文,然后调用
eglGetCurrentContext()
在C++中获取EGLContext。稍后,我在第二个线程中使用以下内容在C++中创建第二个上下文:
eglCreateContext(mEglDisplay,mEglConfig,sharedContext,contextAttribs);
其中sharedContext是第一个上下文。