1、直接将项目文件中的libs文件夹里的har包复制到新项目中就可以使用。
2、如果想直接使用项目文件需要: (1)把android.opengl和ohos.opengl两个文件夹包括其中的内容复制到新的项目中的java目录下,包名不能更改。 (2)OpenGL组件中的libs文件夹中的so文件全部复制到新项目中的libs文件夹中。
1、GLUtil类暂时没有移植,对应的功能暂时无法使用。
2、GLSurfaceview改为了GLSurfaceProvider 在使用GLSurfaceProvider的Renderer时,GL改为GLES1X。
public interface Renderer {
void onSurfaceCreated(GLES1X gl, EGLConfig config);
void onSurfaceChanged(GLES1X gl, int width, int height);
void onDrawFrame(GLES1X gl);
}
3、项目文件中MainAbilitySlice.java文件中提供了GLSurfaceProvider和EGL的使用示例
4、与glCreateShader和glCreateProgram相关的的方法暂时无法使用。
1、 -由于glCreateShader和glCreateProgram方法无法正常创建着色器和程序,所以这两个方法需要重新移植。目前有一种方案可行性比较大:去移植安卓中的swiftshader。 -链接:http://androidxref.com/9.0.0_r3/xref/external/swiftshader/src/Shader/
-如果有需要的可以尝试去移植。
-由于移植需要用到native部分,我提供该项目中生成etc1的so库时项目的代码。 -native部分参考:https://gitee.com/D1124/OpenGL_ISRC_native -(C代码如何编译成so库并在Java中使用的示例↑)
2、 -GLUtil类,需要在C代码中将安卓中的bitmap替换为pixelmap(链接中1065-1070行对应的方法)。 -链接:http://androidxref.com/9.0.0_r3/xref/frameworks/base/core/jni/android/opengl/util.cpp
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。