该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
d1124- d1124 更新 bb56978 4年前
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

OpenGL_ISRC

项目介绍

  • 项目名称:OpenGL移植
  • 所属系列:鸿蒙开源平台的OpenGL移植
  • 功能:安卓OpenGL中除GLUtil类以外的所有功能
  • 项目移植状态:基本完成
  • 调用差异: 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库文件

安装教程

首先下载项目文件,如果要在新项目中使用OpenGL可以使用以下两种方法: 方法一:最直接方法(路径不能改) 1、将项目文件\entry\build\intermediates路径下的libs文件夹复制到新项目中相同路径下。 2、将项目文件中android.opengl和ohos.opengl两个包复制到新项目相同路径下。(注意:不要在编译器中复制,容易出错) 3、将slice中的Log复制到新项目中,并在GLSurfaceProvider中引用,或者处理一下其中的Log报错。 方法二:(可以修改ohos.opengl的路径,但是android.opengl路径依然不能修改) 1、GLES文件 将本项目文件\entry\build\intermediates\libs路径下的三个libGLES的so文件复制到要使用的项目的libs目录下即可。 GLES的Java文件必须要放在项目文件\entry\src\main\java\android\opengl的目录下。

2、ETC1、Matrix和Visibility(创建so文件) 在新的项目中使用时,需要将本项目中的上面提到的Java文件(路径可以自己定义)和cpp文件夹复制过去。 将本项目文件中etc1_util.cpp文件873-875行中的路径改为使用时ETC1、Matrix和Visibility三个类对应的路径。 下面882行函数名中的路径也要改为ETC1的路径。 在项目文件的build.gradle的ohos{}中添加以下代码: externalNativeBuild { path "src/main/cpp/CMakeLists.txt" arguments "-v" abiFilters "arm64-v8a" cppFlags "" } 如果报找不到CMakeList.txt的错就先删掉这段代码运行一次,再添加上。 步骤简述:1:直接复制cpp文件夹和以上Java文件。2:去etc1_util.cpp改路径。3:去build.gradle中添加externalNativeBuild。

3、其余文件可以自行复制。 注意:GLU等类放在android.opengl的路径下会报错,使用so文件时一定要注意路径问题。

使用说明

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的使用示例 直接运行就可以看到GLSurfaceProvider的使用结果,取消下面注释后可以看到EGL的使用结果。


#### 版本迭代


- v0.1.0


#### 版权和许可信息
- Apache Licence 2.0

空文件

简介

OpenGL移植 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化