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 渲染引擎

Download history 16/week @ 2024-04-29 7/week @ 2024-05-06 19/week @ 2024-05-20 4/week @ 2024-05-27 16/week @ 2024-06-03 19/week @ 2024-06-10 8/week @ 2024-06-17 16/week @ 2024-06-24 154/week @ 2024-07-08 25/week @ 2024-07-15 20/week @ 2024-07-22 11/week @ 2024-07-29 7/week @ 2024-08-05 17/week @ 2024-08-12

每月56次下载
7 crates 中使用

MIT/Apache

2MB
37K SLoC

所有是立方体

一个“体素游戏”引擎,其中每个方块由更小的方块组成(一个递归级别)。

这是一个正在进行中的项目;这是我用Rust编写的第一个项目,我的目标是复制和扩展我之前的工作 Cubes。当前已实现

  • BlocksSpaces 的核心数据模型(可能会更改)。
  • 使用仅CPU的射线追踪器进行渲染。(有关GPU,请参阅 all-is-cubes-gpu。)
  • 在体素空间中绘制2D图形,基于 embedded-graphics 库构建。

有关库的功能、限制和要求,请参阅 crate文档

该库旨在在一定程度上可重用,用于处理块/体素数据,但由于我还在根据需求更改它,因此它目前没有特别稳定的接口。

  • all-is-cubes-meshall-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许可证定义的,你提交的任何有意包含在作品中的贡献,将按照上述方式双重许可,不附加任何额外条款或条件。

依赖关系

~8–40MB
~595K SLoC