代码拉取完成,页面将自动刷新
opengl鸿蒙项目native部分使用示例
在OpenGL的Java项目的基础上添加了native部分,用来创建提供给ETC1使用的so库,生成库的cpp文件为:etc1_util.cpp。 该库包括Opengl中ETC1、Martix、Visibility三个类的native方法,缺少GLUtils类的方法(因为需要将bitmap转为pixelmap所以没有移植)。
红色框中为主要代码,蓝色框中为对应的Java方法路径:
4.最后在需要使用so库的Java文件中添加一段代码来使用so库:
5.运行后生成的so文件会生成在build文件中:
etc1_util.cpp代码参考链接:http://androidxref.com/9.0.0_r3/xref/frameworks/base/core/jni/android/opengl/util.cpp
项目文件中etc1的代码:http://androidxref.com/9.0.0_r3/xref/frameworks/native/opengl/libs/ETC1/etc1.cpp
可能需要移植的与shader相关的代码:http://androidxref.com/9.0.0_r3/xref/external/swiftshader/
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。