随笔分类 -  OpenGL

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