12个版本 (7个重大更新)
0.8.0 | 2024年7月9日 |
---|---|
0.7.1 | 2024年1月27日 |
0.6.0 | 2023年7月30日 |
0.5.0 | 2022年12月29日 |
0.1.2 | 2020年9月6日 |
#6 in 渲染引擎
每月56次下载
在 7 crates 中使用
2MB
37K SLoC
所有是立方体
一个“体素游戏”引擎,其中每个方块由更小的方块组成(一个递归级别)。
这是一个正在进行中的项目;这是我用Rust编写的第一个项目,我的目标是复制和扩展我之前的工作 Cubes。当前已实现
- Blocks 和 Spaces 的核心数据模型(可能会更改)。
- 使用仅CPU的射线追踪器进行渲染。(有关GPU,请参阅
all-is-cubes-gpu
。) - 在体素空间中绘制2D图形,基于 embedded-graphics 库构建。
有关库的功能、限制和要求,请参阅 crate文档。
该库旨在在一定程度上可重用,用于处理块/体素数据,但由于我还在根据需求更改它,因此它目前没有特别稳定的接口。
相关crate
all-is-cubes-mesh
从all-is-cubes
体素数据生成三角形网格。all-is-cubes-gpu
使用GPU功能进行渲染,而不是仅使用CPU。all-is-cubes-ui
包含小部件框架和基本用户界面函数(非平台特定)all-is-cubes-content
包含了与引擎相对的“游戏内容”的生成过程和数据。all-is-cubes-port
提供了导入和导出到各种格式的功能。all-is-cubes-desktop
是一个可以构建和运行的二进制文件,用于“玩游戏”。all-is-cubes-server
将成为游戏的网络服务器,但目前仅包含为“游戏”网络版本预配置的HTTP静态文件服务器。
“游戏”用引号括起来,因为目前你能做的只是放置和移除方块以及查看风景。
稳定性和版本控制
所有立方体是一个雄心勃勃的业余项目;许多必要实现以成为“完整”的功能尚未实现,实现它们将需要不兼容的更改。在开发过程中,库API经常更改,版本编号将标记这些版本为不兼容(例如,0.3到0.4);只有在我对未来的版本至少有保存数据兼容性信心时,才会出现1.0版本。然而,我已经尽力记录了在未来版本中更可能更改的API元素。
MSRV策略:当前版本在Cargo.toml
中准确地记录了其rust-version
。未来的版本通常将需要自该版本以来的当前稳定Rust版本。
许可证
所有源代码和其他材料均由Kevin Reid版权所有 © 2020-2024,并许可为以下其中之一:
- Apache许可证,版本2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
除非你明确声明,否则,根据Apache-2.0许可证定义的,你提交的任何有意包含在作品中的贡献,将按照上述方式双重许可,不附加任何额外条款或条件。
依赖关系
~8–40MB
~595K SLoC