33 个版本 (19 个稳定版)

3.2.0 2024 年 2 月 4 日
2.0.7 2024 年 1 月 15 日
2.0.6 2023 年 7 月 2 日
2.0.2 2023 年 1 月 10 日
0.1.1 2020 年 12 月 15 日

渲染 中排名 22

每月下载 41
2 个 包中使用

自定义许可证

125KB
3K SLoC

russimp russimp Crates.io

Rust 绑定库 for Assimp (https://github.com/assimp/assimp)

概述

Russimp 是一个库,用于与 assimp 库通信,使您能够以通用结构读取不同格式的 3D 模型。

默认情况下,russimp 在您的计算机上查找 assimp 库。要安装它

  • OSX: 您需要更新 brew 并使用它安装 assimp。
  • Linux: 您需要通过您选择的包管理器安装 assimp。
  • Windows: 您可以使用预构建版本 russimp = { version = "1.0.5", features = ["prebuilt"] }

或者,您可能更喜欢使用预构建的 assimp 二进制文件或自行编译;在任一情况下,russimp 都会将 assimp 静态链接到您的二进制文件中。russimp 通过以下 Cargo 功能公开了管理 assimp 依赖项的功能(此文档摘自 russimp-sys

预构建

从 GitHub 下载预构建的 Assimp 静态库二进制文件并跳过从源代码构建。

由于 Assimp 构建缓慢并且具有构建环境要求。我们为常见平台和功能提供了预构建的二进制文件。

当发布新版本时,GitHub Action会自动运行预构建任务,所有预构建的二进制文件都保存在GitHub发行版中。

构建脚本russimp-sys将首先尝试从GitHub下载预构建的二进制文件,并跳过完整的源代码构建。

在不启用prebuilt功能的情况下启用static-link功能将从头构建assimp

从源代码构建需要以下依赖项

  • cmake
  • clang
  • Linux和MacOS的Ninja,Windows的Visual Studio 2019

nozlib

默认情况下,russimp-sys将静态链接zlibstatic,如果它与其他依赖项冲突,您可以禁用此功能。

帮助

非常欢迎您帮助开发,添加功能,修复问题或进行重构。请尝试用测试来做 =)

在创建pull request之前,请确保运行cargo fmt。

如何使用它?

使用Scene::from_file从给定文件加载场景,或使用Scene::from_buffer直接从内存中加载场景。如果您愿意,可以提供PostProcess标志来根据您的需求更改场景结构。从场景中,您将能够访问底层的结构。

let scene = Scene::from_file("myfile.blend",
vec![PostProcess::CalculateTangentSpace,
     PostProcess::Triangulate,
     PostProcess::JoinIdenticalVertices,
     PostProcess::SortByPrimitiveType]).unwrap();

// Progress The Scene...

变更日志

变更日志可以在这里找到。

依赖项

~3–14MB
~192K SLoC