华为图形计算服务(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 位 |
- 检查Android Studio开发环境。在Android Studio中打开示例代码工程目录。在设备或虚拟机上运行TestApp。本工程依赖于Huawei Mobile Service(HMS)。
- 注册 华为账号。
- 创建应用,生成签名证书指纹,配置AppGallery Connect。
详细操作请参见: 开发准备。 - 编译此demo前,请先将demo导入Android Studio(3.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
)。
- 在Android设备或虚拟机上运行Vulkan渲染demo。
- 在Android设备或虚拟机上运行离线超分插件demo。
● 在app/src/main/assets/resource目录下运行run.bat。
● 双击屏幕。
● 从/sdcard/Android/data/com.hisi.CGRenderFrameworkDemo/output_ie_sync.ppm中拉取结果文件。
- Android 8.0及以上的设备。
- Vulkan 1.0或Vulkan 1.1的设备。
图形计算服务示例代码已获得Apache 2.0 license授权许可。