2024-10-17 07:55:13 -07:00
2024-10-15 15:00:51 -07:00
2024-10-23 16:36:37 -07:00
2024-10-15 15:00:51 -07:00
2024-08-21 20:48:44 -07:00
2019-08-08 08:52:20 -07:00
2024-08-05 15:33:28 -07:00
2024-01-31 09:09:09 -08:00
2024-10-15 15:00:51 -07:00
2024-09-06 08:16:47 -07:00

meshoptimizer

Meshoptimizer is an efficient mesh optimization library that reduces the storage size of 3D mesh data and enhances rendering performance through various techniques. It is mainly used in the fields of graphics and game development, especially when dealing with 3D models containing a large number of polygons, it can significantly reduce the rendering burden and improve operational efficiency.

Use Cases of meshoptimizer

The introduction of meshoptimizer on OpenHarmony is mainly for decompressing the Ext_meshopt_compress extension format in gltf.

Directory Structure

demo        # demo file
extern      # third-party source code
gltf        # gltfpack is a tool that can automatically optimize gltf files, reducing download size and improving loading and rendering speed
js          # this folder contains JavaScript/WebAssembly modules that can be used to access some functions of the meshoptimizer library
src         # C++ source code directory of meshoptimizer containing decompression functions
CMakeLists.txt      # build description file
LICENSE.md      # license statement
README.MD       # software description 

The adaptation of meshoptimizer for OpenHarmony

OpenHarmony only compiles the source code and header files under the src/ directory in the meshoptimizer repository. meshoptimizer is introduced into the thirdparty directory of OpenHarmony and compiled using the method of dependent components in OpenHarmony.

Main Code Download

repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

Depend on the modules in use.

deps = ["//third_party/meshoptimizer:meshoptimizer"]

Preprocessing

./build/prebuilts_download.sh

Compilation

./build.sh --product-name rk3568 --ccache

Relevant References

https://github.com/zeux/meshoptimizer

License

This project is subject to the license described in LICENCE.

meshoptimizer

S
Description
meshoptimizer 是一个高效的网格优化库,旨在通过多种技术减少 3D 网格数据的存储大小和提升渲染性能。它主要用于图形学和游戏开发领域,尤其是处理大量多边形的 3D 模型时,能够显著降低渲染负担,提高运行效率。
Readme 13 MiB
Languages
C++ 78.7%
JavaScript 11%
C 8%
Makefile 1.1%
CMake 0.7%
Other 0.5%