想着以后可能会遇到用opengles3.0来处理视频就想了解一下,结果发现网上没有多少这方面的东西,然后就自己摸索了

先来说说java端的写法,我这篇就是用java端opengles2.0写的android 简单的exoplayer全景播放器,然后我想改成3.0的,很简单,直接把GLES20改成GLES30,比如

GLES30.glGenTextures(1, textures, 0);

不过要注意的,用3.0的时候egl要用EGL14,所以在使用GLSurfaceView的时候要设置setEGLContextClientVersion(3);

java端没啥好说了,来说说jni,也就是c/c++,刚开始我以为3.0和2.0是分开的,所以就在CMakeLists.txt里添加了GLESv3,可是后来发现GLESv2里面已经包含了3.0,也就不用导入GLESv3了,直接用GLESv2就可以了。在jni用2.0初始化GL_TEXTURE_EXTERNAL_OES的时候要引入gl2ext.h #include ,就想着3.0也要引入gl3ext.h #include 结果发现没有GL_TEXTURE_EXTERNAL_OES,这就很尴尬了,点开gl3ext.h发现里面是空的。。。没办法,继续用gl2ext.h,一运行,没问题

好了现在可以愉快的研究3.0的特性了GitHub

在试抗锯齿时发现jni调用glRenderbufferStorageMultisample不能编译,添加了GLESv3后就可以了,看来GLESv2并不是包含了全部3.0,只是包含了相同函数

更多相关文章

  1. Android在eclipse开发出现打开main.xml就关闭eclipse现象解决
  2. Android(安卓)4.0 真实视频泄露
  3. Android(安卓)studio 中关于模拟器的 / data 目录不能显示的解决
  4. Android(安卓)Studio完美解决 you are about to commit crlf lin
  5. Android(安卓)中的Context 上下文
  6. androidP 系统集成时发现部分应用初次打开时提示此应用专为低版
  7. Android(安卓)4.1 中的 C/C++ 组件架构
  8. android studio + ndk + cmake + jna +sqlite c层报错SQLITE_CAN
  9. Android(安卓)Studio 使用二三事----' ' cannot be applied to '

随机推荐

  1. Android中有关Handler的总结
  2. Android(安卓)系列的光照效果
  3. android 获取 mac 以及device id
  4. 写个跟android有关的xml解析
  5. android 标题栏布局
  6. Android学习路线(二十六)Android数据存储
  7. 相对布局属性详解
  8. 【Parse】开发笔记(4)—— Push Notificati
  9. Android 风格和主题
  10. Android BLE 开发常见问题总结