From d1ad53a7c601be58960e5e8be014fbcc6d8d669f Mon Sep 17 00:00:00 2001 From: NEU-lab <2942375747@qq.com> Date: Tue, 17 Sep 2024 21:40:49 +0800 Subject: [PATCH] =?UTF-8?q?bullet3-3.22=EF=BC=9A=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E4=B8=89=E6=96=B9=E5=BA=93bullet3-3.22?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: NEU-lab <2942375747@qq.com> --- thirdparty/bullet3-3.22/HPKBUILD | 73 ++++++++++++++++ thirdparty/bullet3-3.22/HPKCHECK | 30 +++++++ thirdparty/bullet3-3.22/OAT.xml | 16 ++++ thirdparty/bullet3-3.22/README.OpenSource | 11 +++ thirdparty/bullet3-3.22/README_zh.md | 9 ++ thirdparty/bullet3-3.22/SHA512SUM | 1 + .../bullet3-3.22/bullet3-3.22_oh_pkg.patch | 66 ++++++++++++++ thirdparty/bullet3-3.22/docs/hap_integrate.md | 81 ++++++++++++++++++ .../docs/pic/bullet3_install_dir.png | Bin 0 -> 9793 bytes .../bullet3-3.22/docs/pic/bullet3_test.png | Bin 0 -> 44933 bytes 10 files changed, 287 insertions(+) create mode 100644 thirdparty/bullet3-3.22/HPKBUILD create mode 100644 thirdparty/bullet3-3.22/HPKCHECK create mode 100644 thirdparty/bullet3-3.22/OAT.xml create mode 100644 thirdparty/bullet3-3.22/README.OpenSource create mode 100644 thirdparty/bullet3-3.22/README_zh.md create mode 100644 thirdparty/bullet3-3.22/SHA512SUM create mode 100644 thirdparty/bullet3-3.22/bullet3-3.22_oh_pkg.patch create mode 100644 thirdparty/bullet3-3.22/docs/hap_integrate.md create mode 100644 thirdparty/bullet3-3.22/docs/pic/bullet3_install_dir.png create mode 100644 thirdparty/bullet3-3.22/docs/pic/bullet3_test.png diff --git a/thirdparty/bullet3-3.22/HPKBUILD b/thirdparty/bullet3-3.22/HPKBUILD new file mode 100644 index 00000000..bb17bee0 --- /dev/null +++ b/thirdparty/bullet3-3.22/HPKBUILD @@ -0,0 +1,73 @@ +# Copyright (c) 2023 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Contributor: wangjialun<2271411@stu.neu.edu.cn>, zhangqian<2371418@stu.neu.edu.cn>, wangyihao<2471389@stu.neu.edu.cn>, wangying +# Maintainer: wangyihao<2471389@stu.neu.edu.cn>, wangjialun<2271411@stu.neu.edu.cn>, zhangqian<2371418@stu.neu.edu.cn>, wangying + +pkgname=bullet3-3.22 +pkgver=3.22 +pkgrel=0 +pkgdesc="It is a real-time collision detection and multi-physics simulation for VR, games, visual effects, robotics, machine learning etc." +url="https://github.com/bulletphysics/bullet3/tree/3.22" +archs=("armeabi-v7a" "arm64-v8a") +license=("Zlib License") +depends=() +makedepends=() +source="https://github.com/bulletphysics/bullet3/archive/refs/tags/3.22.zip" + +downloadpackage=true +autounpack=true +buildtools=cmake +patchflag=true + +builddir=bullet3-3.22 +packagename=bullet3-3.22.zip + +# 为编译设置环境,如设置环境变量,创建编译目录等 +prepare() { + if $patchflag + then + cd $builddir + patch -p1 < `pwd`/../bullet3-3.22_oh_pkg.patch + # patch只需要打一次,关闭打patch + patchflag=false + cd $OLDPWD + fi + mkdir -p $builddir/$ARCH-build +} + +build() { + cd $builddir + ${OHOS_SDK}/native/build-tools/cmake/bin/cmake "$@" -DCMAKE_C_FLAGS="-Wno-unused-command-line-argument" \ + -DCMAKE_CXX_FLAGS="-Wno-unused-command-line-argument" -B$ARCH-build -S./ > $buildlog 2>&1 + $MAKE VERBOSE=1 -C $ARCH-build >> $buildlog 2>&1 + ret=$? + cd $OLDPWD + return $ret +} + +package() { + cd $builddir + $MAKE -C $ARCH-build install >> $buildlog 2>&1 + cd $OLDPWD +} + + +check() { + echo "The test must be on an OpenHarmony device!" +} + + +cleanbuild() { + rm -rf ${PWD}/$builddir +} \ No newline at end of file diff --git a/thirdparty/bullet3-3.22/HPKCHECK b/thirdparty/bullet3-3.22/HPKCHECK new file mode 100644 index 00000000..9ceab104 --- /dev/null +++ b/thirdparty/bullet3-3.22/HPKCHECK @@ -0,0 +1,30 @@ +# Copyright (c) 2023 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Contributor: wangjialun<2271411@stu.neu.edu.cn>, zhangqian<2371418@stu.neu.edu.cn>, wangyihao<2471389@stu.neu.edu.cn>, wangying +# Maintainer: wangyihao<2471389@stu.neu.edu.cn>, wangjialun<2271411@stu.neu.edu.cn>, zhangqian<2371418@stu.neu.edu.cn>, wangying + +source HPKBUILD > /dev/null 2>&1 # 导入HPKBUILD文件 +logfile=${LYCIUM_THIRDPARTY_ROOT}/${pkgname}/${pkgname}_${OHOS_SDK_VER}_test.log + + +# 在OH环境执行测试的接口 +openharmonycheck() { + res=0 + cd ${builddir}/${ARCH}-build # 进入到测试目录 + ctest > ${logfile} 2>&1 # 执行测试命令并将测试结果导出到${logfile} + res=$? + cd $OLDPWD + + return $res +} \ No newline at end of file diff --git a/thirdparty/bullet3-3.22/OAT.xml b/thirdparty/bullet3-3.22/OAT.xml new file mode 100644 index 00000000..eeb1f946 --- /dev/null +++ b/thirdparty/bullet3-3.22/OAT.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/thirdparty/bullet3-3.22/README.OpenSource b/thirdparty/bullet3-3.22/README.OpenSource new file mode 100644 index 00000000..71d24c96 --- /dev/null +++ b/thirdparty/bullet3-3.22/README.OpenSource @@ -0,0 +1,11 @@ +[ + { + "Name": "bullet3-3.22", + "License": "Zlib License", + "License File": "https://github.com/bulletphysics/bullet3/blob/master/LICENSE.txt", + "Version Number": "3.22", + "Owner": "2942375747@qq.com", + "Upstream URL": "https://github.com/bulletphysics/bullet3", + "Description": "It is a real-time collision detection and multi-physics simulation for VR, games, visual effects, robotics, machine learning etc." + } +] \ No newline at end of file diff --git a/thirdparty/bullet3-3.22/README_zh.md b/thirdparty/bullet3-3.22/README_zh.md new file mode 100644 index 00000000..7393f0b7 --- /dev/null +++ b/thirdparty/bullet3-3.22/README_zh.md @@ -0,0 +1,9 @@ +# bullet3-3.22三方库说明 +## 功能简介 +bullet3-3.22可以实现实时碰撞检测和多物理场仿真,适用于VR、游戏、视觉效果、机器人、机器学习等。 +## 三方库版本: +- 3.22 +## 使用约束: +- [IDE和SDK版本](../../docs/constraint.md) +## 集成方式 ++ [应用hap包集成](docs/hap_integrate.md) diff --git a/thirdparty/bullet3-3.22/SHA512SUM b/thirdparty/bullet3-3.22/SHA512SUM new file mode 100644 index 00000000..03239cc1 --- /dev/null +++ b/thirdparty/bullet3-3.22/SHA512SUM @@ -0,0 +1 @@ +0015bc885da97815979d8bec7febafa898d0306ac73b2e48aa3bd733fc11858ee968d61949a3f88d0578f9c20f2fbc22e27338bf3f8a38486774da858083d348 bullet3-3.22.zip \ No newline at end of file diff --git a/thirdparty/bullet3-3.22/bullet3-3.22_oh_pkg.patch b/thirdparty/bullet3-3.22/bullet3-3.22_oh_pkg.patch new file mode 100644 index 00000000..bc58cf12 --- /dev/null +++ b/thirdparty/bullet3-3.22/bullet3-3.22_oh_pkg.patch @@ -0,0 +1,66 @@ +--- bullet3-3.22_old/examples/ThirdPartyLibs/Eigen/src/Core/util/Macros.h 2022-03-26 10:29:36.000000000 +0800 ++++ bullet3-3.22/Macros.h 2024-09-04 11:25:14.315308781 +0800 +@@ -1145,7 +1145,9 @@ + #if EIGEN_COMP_GNUC_STRICT && EIGEN_GNUC_AT_MOST(5, 0) + #define EIGEN_OPTIMIZATION_BARRIER(X) __asm__ ("" : "+r,w" (X)); + #else ++ #if !defined(__OHOS__) + #define EIGEN_OPTIMIZATION_BARRIER(X) __asm__ ("" : "+g,w" (X)); ++ #endif + #endif + #elif EIGEN_ARCH_i386_OR_x86_64 + // General, SSE. +--- bullet3-3.22_old/examples/SharedMemory/PhysicsClientUDP.cpp 2022-03-26 10:29:36.000000000 +0800 ++++ bullet3-3.22/PhysicsClientUDP.cpp 2024-09-04 11:32:00.342763723 +0800 +@@ -164,7 +164,7 @@ + if (gVerboseNetworkMessagesClient) + { + printf( +- "A packet of length %lu containing '%s' was " ++ "A packet of length %zu containing '%s' was " + "received from %s on channel %u.\n", + m_event.packet->dataLength, + (char*)m_event.packet->data, +@@ -220,7 +220,7 @@ + if (gVerboseNetworkMessagesClient) + { + printf( +- "A packet of length %lu containing '%s' was " ++ "A packet of length %zu containing '%s' was " + "received from %s on channel %u.\n", + m_event.packet->dataLength, + (char*)m_event.packet->data, +--- bullet3-3.22_old/examples/ThirdPartyLibs/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h 2022-03-26 10:29:36.000000000 +0800 ++++ bullet3-3.22/GenericPacketMathFunctions.h 2024-09-04 11:45:59.441659426 +0800 +@@ -638,7 +638,7 @@ + + // Rounding trick: + Packet y_round = padd(y, cst_rounding_magic); +- EIGEN_OPTIMIZATION_BARRIER(y_round) ++ //EIGEN_OPTIMIZATION_BARRIER(y_round); + PacketI y_int = preinterpret(y_round); // last 23 digits represent integer (if abs(x)<2^24) + y = psub(y_round, cst_rounding_magic); // nearest integer to x*4/pi + +@@ -660,9 +660,9 @@ + // and 2 ULP up to: + const float huge_th = ComputeSine ? 25966.f : 18838.f; + x = pmadd(y, pset1(-1.5703125), x); // = 0xbfc90000 +- EIGEN_OPTIMIZATION_BARRIER(x) ++ //EIGEN_OPTIMIZATION_BARRIER(x); + x = pmadd(y, pset1(-0.000483989715576171875), x); // = 0xb9fdc000 +- EIGEN_OPTIMIZATION_BARRIER(x) ++ //EIGEN_OPTIMIZATION_BARRIER(x); + x = pmadd(y, pset1(1.62865035235881805419921875e-07), x); // = 0x342ee000 + x = pmadd(y, pset1(5.5644315544167710640977020375430583953857421875e-11), x); // = 0x2e74b9ee + +--- bullet3-3.22_old/examples/OpenGLWindow/X11OpenGLWindow.cpp 2022-03-26 10:29:36.000000000 +0800 ++++ bullet3-3.22/X11OpenGLWindow.cpp 2024-09-04 11:57:34.600751392 +0800 +@@ -566,7 +566,7 @@ + //Access pthreads as a workaround for a bug in Linux/Ubuntu + //See https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-319/+bug/1248642 + +-#if !defined(__NetBSD__) && !defined(__ANDROID__) ++#if !defined(__NetBSD__) && !defined(__ANDROID__) && !defined(__OHOS__) + int i = pthread_getconcurrency(); + printf("pthread_getconcurrency()=%d\n", i); + #endif diff --git a/thirdparty/bullet3-3.22/docs/hap_integrate.md b/thirdparty/bullet3-3.22/docs/hap_integrate.md new file mode 100644 index 00000000..781f4da5 --- /dev/null +++ b/thirdparty/bullet3-3.22/docs/hap_integrate.md @@ -0,0 +1,81 @@ +# bullet3集成到应用hap + +本库是在RK3568开发板上基于OpenHarmony3.2 Release版本的镜像验证的,如果是从未使用过RK3568,可以先查看[润和RK3568开发板标准系统快速上手](https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/rk3568_helloworld)。 + +## 开发环境 + +- [开发环境准备](../../../docs/hap_integrate_environment.md) + +## 编译三方库 + +- 下载本仓库 + + ```shell + git clone https://gitee.com/openharmony-sig/tpc_c_cplusplus.git --depth=1 + ``` + +- 三方库目录结构 + + ```shell + tpc_c_cplusplus/thirdparty/bullet3-3.22 #三方库bullet3-3.22的目录结构如下 + ├── docs #三方库相关文档的文件夹 + ├── HPKBUILD #构建脚本 + ├── HPKCHECK #测试脚本 + ├── SHA512SUM #三方库校验文件 + ├── README.OpenSource #说明三方库源码的下载地址,版本,license等信息 + ├── README_zh.md #三方库简介 + ``` + +- 在lycium目录下编译三方库 + + 编译环境的搭建参考[准备三方库构建环境](../../../lycium/README.md#1编译环境准备) + + ```shell + cd lycium + ./build.sh bullet3-3.22 + ``` + +- 三方库头文件及生成的库 + + 在lycium目录下会生成usr目录,该目录下存在已编译完成的32位和64位三方库 + + ```shell + bullet3-3.22/arm64-v8a bullet3-3.22/armeabi-v7a + ``` + +- [测试三方库](#测试三方库) + +- 编译出可执行的文件进行测试,[准备三方库测试环境](../../../lycium/README.md#3ci环境准备) +## 应用中使用三方库 + +- 在IDE的cpp目录下新增thirdparty目录,将编译生成的头文件拷贝到该目录下,将编译生成的三方库以及依赖库全部(动态库名字带版本号和不带版本号的都需要)拷贝到工程的libs目录下,如下图所示: +   + +  ![thirdparty_install_dir](pic/bullet3_install_dir.png) + +- 在最外层(cpp目录下)CMakeLists.txt中添加如下语句 + + ```shell + #将三方库加入工程中 + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/bullet3/${OHOS_ARCH}/lib/libBullet3Collision.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/bullet3/${OHOS_ARCH}/lib/libBullet3Common.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/bullet3/${OHOS_ARCH}/lib/libBullet3Dynamics.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/bullet3/${OHOS_ARCH}/lib/libBullet3Geometry.a) + #将三方库的头文件加入工程中 + target_include_directories(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/bullet3/${OHOS_ARCH}/include) + ``` + +## 测试三方库 +进入到构建目录运行测试用例(注意arm64-v8a为构建64位的目录,armeabi-v7a为构建32位的目录),执行结果如图所示 + +```shell + cd /data/tpc_c_cplusplus/thirdparty/bullet3-3.22/arm64-v8a-build/ + ./ctest +``` + ![bullet3_test](pic/bullet3_test.png) + +## 参考资料 + +- [润和RK3568开发板标准系统快速上手](https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/rk3568_helloworld) +- [OpenHarmony三方库地址](https://gitee.com/openharmony-tpc) +- [OpenHarmony知识体系](https://gitee.com/openharmony-sig/knowledge) \ No newline at end of file diff --git a/thirdparty/bullet3-3.22/docs/pic/bullet3_install_dir.png b/thirdparty/bullet3-3.22/docs/pic/bullet3_install_dir.png new file mode 100644 index 0000000000000000000000000000000000000000..ce5b1ef256b6a9e8ee6b6bf855977c3fae8e6b1c GIT binary patch literal 9793 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 ZY1(gR8Y@c*@)^LN=|xM!vhz2h{ulBbzRdst literal 0 HcmV?d00001 -- Gitee