安卓下多线程OpenGL共享Context (四)
摘要:之前的方案假定Java层更新纹理时使用的是RGB或RBGA格式的数据,但是在播放视频这种应用场景下,解码器解码出来的数据如果是YUV格式,渲染起来就比较麻烦了。一种方式是使用CPU进行YUV转RGB,然后再进行渲染,但是这种方式性能极差;另一种方式是使用GPU进行转换,利用GPU的并行计算能力加速转
阅读全文
posted @
2017-07-10 16:54
游不动の鱼
阅读(3627)
推荐(0)
安卓下多线程OpenGL共享Context (三)
摘要:在上一节中我们介绍了多线程OpenGL绘制方案,但是如果需要在Java线程不断修改纹理数据,会由于并发访问导致Unity线程出现访问非法内存而崩溃。因此,考虑在Java线程加载数据,然后在unity线程调用OpenGL操作更新纹理。这样所有的OpenGL操作都在Unity绘制线程完成,从而避免了多线
阅读全文
posted @
2017-05-30 12:18
游不动の鱼
阅读(2281)
推荐(0)
安卓下多线程OpenGL共享Context (二)
摘要:为了在Java线程进行OpenGL调用,需要为java线程初始化OpenGL环境,initOpenGL函数展示了初始化OpenGL环境的过程。在setupOpenGL方法中,在线程上先执行该调用即可。Java代码示例如下: 初始化完OpenGL环境之后,就可以在Java线程中愉快地进行OpenGL调
阅读全文
posted @
2017-05-25 10:48
游不动の鱼
阅读(7852)
推荐(0)
安卓下多线程OpenGL共享Context (一)
摘要:最近在研究Unity3D开发中使用Java Plugin进行纹理更新,想法很简单,在Java线程更新纹理数据,然后Unity场景中的纹理将自动更新。 首先,创建Java类,定义创建纹理及获取纹理参数的接口,并创建单线程池用于进行加载Bitmap并绑定纹理数据等OpenGL操作。Java代码示例: 然
阅读全文
posted @
2017-05-23 11:41
游不动の鱼
阅读(2802)
推荐(0)