A repository containing various Rust-crates that are useful for game development with Vulkan.
Currently, the repository contains the follow crates:
rust-ecs
: An Entity Component System for Rust.rust-vk
: A RAII-wrapper in Rust for ash bindings.rust-win
: Provides a wrapper implementation about a winit window and related Vulkan strucst (depends on therust-vk
crate).
You can learn more about each repository by visiting their respective folder (which has the same name).
To use a crate in this repository, add it to your Cargo.toml
file using the git-link of the repository as a whole:
rust-vk = { git = "https://github.com/Lut99/rust-game" }
It is a workspace, so Cargo will select the appropriate crate in this whole workspace. You can replace rust-vk
with any of the other packages in this crate.
Optionally, you can select a specific version of the crate by adding a specific tag:
rust-win = { git = "https://github.com/Lut99/rust-game", tag = "<TAG>" }
where <VERSION>
is the desired tag to use.
Note that this crate uses semantic versioning that is separate from the individual crates. That means that any breaking change will always be reflected in the major version number.
The documentation of this workspace and all its crates may be automatically generated by running:
cargo doc
in the source of this crate. Then, in your browser, navigate to:
file://<path-to-repo>/target/doc/<crate>/index.html
where <path-to-repo>
is the path to where you cloned the repository and <crate>
is the crate name you wish to inspect. Note, however, that in the latter case all dashes need to be replaced with dots (see the README files of individual crates to see examples).
You can then browse the documentation at your leisure.
If you like to contribute to this library or have any suggestions / bugs to report, leave an issue over at the issues page. Please tag them appropriate if you want the quickest support.