关于GL_TEXTURE_2D和GL_TEXTURE_EXTERNAL_OES纹理类型的选择问题

读取相册视频->解封装->解码->OpenGL ES处理,其中解码后的数据通过NativeImage中对应的生产者端NativeWindow来接收,NativeImage和OpenGL ES纹理绑定,发现解码输出的内容并没有更新到OpenGL ES纹理上去,没有获取到OpenGL ES纹理数据。

可能原因

创建OH_NativeImage并关联OpenGL ES的时候,纹理目标选用的是GL_TEXTURE_2D。但实际上通过NativeImage关联的OpenGL ES纹理会绑定到GL_TEXTURE_EXTERNAL_OES目标上。

HarmonyOS
2024-09-18 11:59:10
浏览
已于2024-9-18 11:59:56修改
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

创建OH_NativeImage时关联的OpenGL纹理目标选用GL_TEXTURE_EXTERNAL_OES。

GL_TEXTURE_2D和GL_TEXTURE_EXTERNAL_OES使用场景区别:

  • GL_TEXTURE_2D纹理类型:适用于大多数场景,可以用于展示静态贴图、渲染2D图形和进行图像处理等操作。
  • GL_TEXTURE_EXTERNAL_OS纹理类型:专门用于对外部图像或实时视频流进行处理,可以直接从BufferQueue中接收的数据渲染纹理多边形,从而提高更高效的视频处理和渲染性能。例如:从Camera或外部视频源读取数据帧进行处理时,就要选用该纹理类型。
分享
微博
QQ
微信
回复
2024-09-18 16:03:08
相关问题
HarmonyOS GL封装相机预览流角度咨询
226浏览 • 1回复 待解决
关于HAP包entryfeature类型
11156浏览 • 1回复 待解决
如何选择PolarDB迁移类型迁移对象?
3100浏览 • 1回复 待解决
关于routerNavigation要选择哪个使用
708浏览 • 2回复 待解决
HarmonyOS Path2DaddPath方法报错
263浏览 • 1回复 待解决
ArkGraphics 2D有什么优势?
397浏览 • 1回复 待解决
使用Drawing进行2d图像绘制
921浏览 • 1回复 待解决
ArkGraphics 2D都有哪些使用场景?
630浏览 • 1回复 待解决
XComponent、NativeDrawing实现2D图形绘制
1144浏览 • 1回复 待解决
关于Mysql主从读写分离问题
2294浏览 • 1回复 待解决
关于导入图片使用权限问题
1768浏览 • 1回复 待解决