Skip to content

Latest commit

 

History

History
89 lines (75 loc) · 4.99 KB

File metadata and controls

89 lines (75 loc) · 4.99 KB

华为图形计算服务示例代码

目录

简介

华为图形计算服务(HUAWEI Computer Graphics Kit)示例代码封装了Vulkan接口,提供示例程序供您参考。
下面介绍本示例代码的头文件。

请先从(SDK DOWNLOAD)获取SDK包。本示例在压缩包中的路径为: cgsdk-vulkanframework.zip/cgsdk-vulkanframework。
cgsdk-vulkanframework 包含如下头文件:

文件 描述
include/CGRenderingFramework/Application: Application API头文件。
include/CGRenderingFramework/Core: Core API的头文件。
include/CGRenderingFramework/Log: Log API的头文件。
include/CGRenderingFramework/Math: Math API的头文件。
include/CGRenderingFramework/nolhmann: JSON API的头文件。
include/CGRenderingFramework/Rendering: Rendering API的头文件。
include/CGRenderingFramework/Resource: Resource API的头文件。
include/CGRenderingFramework/Scene: Scene API的头文件。
include/CGRenderingFramework/Utils: Param API的头文件。

cgsdk-vulkanframework 包含如下库文件:

文件 描述
libs/arm64-v8a/libcgkit.so: 64 位
libs/armeabi-v7a/libcgkit.so: 32 位

cgsdk-plugin 包含如下基础库文件:

文件 描述
libs/arm64-v8a/libPluginInterface.so: 64 位
libs/armeabi-v7a/libPluginInterface.so: 32 位

下表为cgsdk-plugin的其他头文件和库文件,其在压缩包中的路径为:cgsdk-plugin.zip/cgsdk-plugin-offlinesuperresolution.zip/cgsdk-plugin-offlinesuperresolution/cgsdk-plugin-offlinesuperresolution/.

文件 描述
pkg-for-cgsdk/include/OSRPluginCommon.h 离线超分插件API头文件。
pkg-for-cgsdk/assets/ie_data.bin 离线超分插件的资源文件。
pkg-for-cgsdk/assets/pluginList/plugin.json 离线超分插件的配置文件。
pkg-for-cgsdk/libs/arm64-v8a/libcgkit_plugin_offlineSupRes.so 64 位

开发准备

  1. 检查Android Studio开发环境。在Android Studio中打开示例代码工程目录。在设备或虚拟机上运行TestApp。本工程依赖于Huawei Mobile Service(HMS)。

  2. 注册 华为账号

  3. 创建应用,生成签名证书指纹,配置AppGallery Connect。
    详细操作请参见: 开发准备

  4. 编译此demo前,请先将demo导入Android Studio(3.5及以上版本)。

  5. 配置示例代码:
    ● 打开示例工程的应用级build.gradle文件,修改applicationid为应用包名。
    ● 在根目录下添加签名证书(.jks),修改示例工程应用级build.gradle文件中的signingConfigs参数。
    ● 参照华为图形计算服务开发指南创建模型和材质
    ● 添加CG渲染框架SDK、cgsdk-plugin-base SDK、cgsdk-plugin-offlinessupersolution SDK到以下目录。

   [渲染框架SDK]
   ◉ 将SDK中的include目录添加到工程中(src/cpp/include)。
   ◉ 将SDK中的libs/arm64-v8a/libcgkit.so添加到工程中(libs/arm64-v8a)。
   ◉ 将SDK中的libs/armeabi-v7a/libcgkit.so添加到工程中(libs/armeabi-v7a)。

   [cgsdk-plugin-base SDK]
   ◉ 将SDK中的libs/arm64-v8a/libPluginInterface.so添加到工程中(libs/arm64-v8a)。
   ◉ 将SDK中的libs/armeabi-v7a/libPluginInterface.so添加到工程中(libs/libPluginInterface-v7a)。

   [cgsdk-plugin-offlinesuperresolution SDK]
   ◉ 将SDK中的pkg-for-cgsdk/include/OSRPluginCommon.h添加到工程中(src/main/cpp/include/OSRPlugin)。
   ◉ 将SDK中的pkg-for-cgsdk/assets/ie_data.bin添加到工程中(src/main/assets/resource)。
   ◉ 将SDK中的pluginList目录添加到工程中(app/src/main/assets)。
   ◉ 将SDK中的libs/arm64-v8a/libcgkit_plugin_offlineSupRes.so添加到工程中(app/OSRPlugin/arm64-v8a)。

  1. 在Android设备或虚拟机上运行Vulkan渲染demo。

  2. 在Android设备或虚拟机上运行离线超分插件demo。
    ● 在app/src/main/assets/resource目录下运行run.bat。
    ● 双击屏幕。
    ● 从/sdcard/Android/data/com.hisi.CGRenderFrameworkDemo/output_ie_sync.ppm中拉取结果文件。

环境要求

  1. Android 8.0及以上的设备。
  2. Vulkan 1.0或Vulkan 1.1的设备。

运行结果

授权许可

图形计算服务示例代码已获得Apache 2.0 license授权许可。