Crates.io | all-is-cubes |
lib.rs | all-is-cubes |
version | 0.8.0 |
source | src |
created_at | 2020-08-19 03:27:48.260323 |
updated_at | 2024-07-09 04:52:02.515146 |
description | Recursive voxel game engine. Can be used for voxel raytracing. |
homepage | |
repository | https://github.com/kpreid/all-is-cubes |
max_upload_size | |
id | 278098 |
size | 1,621,837 |
A “voxel game” engine where each block is made out of smaller blocks (one level of recursion).
This is a work in progress; it's my very first project written in Rust, and I am aiming to duplicate and expand on my previous work Cubes. Currently implemented:
all-is-cubes-gpu
for GPU.)For more information on the capabilities, limitations, and requirements of the library, please consult the crate documentation.
This library is intended to be somewhat reusable for working with block/voxel data, but it does not currently have a particularly stable interface as I am still changing it as requirements are discovered.
all-is-cubes-mesh
generates triangle meshes from all-is-cubes
voxel data.all-is-cubes-gpu
renders using GPU functionality rather than CPU-only.all-is-cubes-ui
contains a widget framework and basic user interface functions (not platform-specific)all-is-cubes-content
contains procedural generation and data for concrete “game content” as opposed to the engine.all-is-cubes-port
provides import and export to various formats.all-is-cubes-desktop
is a binary you can build and run to “play the game”.all-is-cubes-server
is to be a network server for the game, but right now only contains a preconfigured HTTP static file server for the web version of the “game”.“The game” is in quotes because all you can do for the moment is place and remove blocks and look at the scenery.
All is Cubes is an ambitious hobby project; many features necessary to be “complete” are not yet implemented, and implementing them will require incompatible changes. During development, library APIs change regularly, and the version numbering will mark these versions as incompatible (e.g. 0.3 to 0.4); there will be no 1.0 version until I am confident that future versions will at least have save data compatibility. However, I have made some attempt to document API elements that are more likely to change in future versions.
MSRV policy: The current release accurately documents its rust-version
in Cargo.toml
.
Future releases will typically require the current stable Rust version as of that release.
All source code and other materials are Copyright © 2020-2024 Kevin Reid, and licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.