XComponent、openGL实现3D图形绘制

XComponent、openGL实现3D图形绘制

HarmonyOS
2024-05-21 22:08:54
浏览
1
收藏 1
回答 1
待解决
回答 1
按赞同
/
按时间
lovingkane
1

XComponent控件常用于相机预览流的显示和游戏画面的绘制,在OpenHarmony上,可以配合Native Window创建OpenGL开发环境,并最终将OpenGL绘制的图形显示到XComponent控件。

开发流程:

通过在IDE中创建Native C++工程,在C++代码中定义接口为Init和Update用于3D图形绘制环境的初始化和图形渲染更新,并映射NAPI相关接口UpdateAngle。ArkTS侧主要利用XComponent控件实现Index.ets,C++侧主要采用OpenGL ES相关标准API实现三棱锥的绘制流程相关代码,并可与ArkTS进行交互。

应用启动时,NAPI模块也相应进行初始化,此时可通过C++侧的OH_NativeXComponent_GetXComponentId()接口,获取到当前XComponent控件的控件指针,并给到C++侧三棱锥绘制相关的Init和Update函数,实现3D图形显示。同时,为实现三棱锥的触摸屏滑动旋转效果,在C++代码中映射的NAPI接口UpdateAngle给到ArkTS侧调用。ArkTS侧需在导入NAPI模块"libtetrahedron_napi.so"正确的前提下,通过调用UpdateAngle接口更新三棱锥旋转角度

使用的核心API

Xcomponent

NativeWindow

核心代码解释

1.在界面中定义Xcomponent

2.使用NAPI获取XComponent实例指针,注册XComponent回调函数

1、实例NativeWindow环境

2、绘制3d图形

4.exports上挂上native侧方法,当arkTs发生手势滑动调用c++侧updateAngle,实现更新三棱锥旋转角度

实现效果

注明适配的版本信息

DevEco Studio Version: 4.0.1.601

SDK:HarmoneyOS 4.0.10.11

已于2024-5-22 20:41:31修改
分享
微博
QQ
微信
回复
2024-05-22 20:33:36
相关问题
XComponent、NativeDrawing实现2D图形绘制
417浏览 • 1回复 待解决
使用Native、XComponent和EGL绘制图形
467浏览 • 1回复 待解决
使用Drawing实现图形绘制与显示
365浏览 • 1回复 待解决
有谁知道是否支持实现3D效果
671浏览 • 1回复 待解决
XComponent使用OpenGl ES
211浏览 • 1回复 待解决
使用Drawing进行2d图像绘制
404浏览 • 1回复 待解决
鸿蒙如何实现位图绘制
8196浏览 • 1回复 待解决
通过Native 调用c++层实现文本绘制
442浏览 • 1回复 待解决
如何用openGL做解码后处理
508浏览 • 0回复 待解决
Xcomponent绘图流程分析
445浏览 • 1回复 待解决
XComponent 怎么设置为透明
754浏览 • 1回复 待解决
Xcomponent、NativeImage开发指导
422浏览 • 1回复 待解决
图形图像开发场景实践
301浏览 • 1回复 待解决
XComponent组件如何设置背景颜色
839浏览 • 1回复 待解决
xComponent组件帧率怎么统计?
241浏览 • 1回复 待解决
如何操作canvas重新绘制
351浏览 • 1回复 待解决
提问
该提问已有0人参与 ,帮助了0人