7 Star 19 Fork 6

isrc_ohos / OpenGL_ISRC

Create your Gitee Account
Explore and code with more than 8 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Please pay attention to the specific project description and its upstream code dependency when using it.
Clone or Download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

OpenGL_ISRC

项目介绍

  • 项目名称:OpenGL移植
  • 所属系列:鸿蒙开源平台的OpenGL移植
  • 功能:安卓OpenGL中除GLUtil类以外的所有类的功能,glCreateShader和glCreateProgram相关的的方法暂时无法使用。
  • 项目移植状态:基本完成
  • 调用差异: 1、在安卓中可以使用各种版本的GL,但是该项目只能使用GLES。 2、在安卓SDK中提供各种版本的EGL,但是该项目只能使用鸿蒙SDK中自带的EGL。 3、GLSurfaceView被改名成为GLSurfaceProvider。
  • 项目作者和维护人:戴研
  • 联系方式:isrc_hm@iscas.ac.cn/2839808264@qq.com(个人)
  • 参考项目地址:http://androidxref.com/9.0.0_r3/

项目介绍

  • 编程语言:Java、 C/C++
  • 外部库依赖:安卓源码中的GLES库文件

安装教程

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

版本迭代

  • v0.1.0

版权和许可信息

  • Apache Licence 2.0

About

Cancel

Releases

No release

Contributors

All

Activities

Load More
can not load any more
Java
1
https://git.oschina.net/iscas-ohos/OpenGL_ISRC.git
git@git.oschina.net:iscas-ohos/OpenGL_ISRC.git
iscas-ohos
OpenGL_ISRC
OpenGL_ISRC
main

Search