caper-0.11.1 doesn't have any documentation.
Caper
Minimalist game framework using rust.
Currently has systems for:
Documentation
Setup
Linux
Due to the crate alsa-sys being use for linux the following packages are required:
Debian/Ubuntu etc
apt install libasound2-dev pkg-config
Fedora/RHEL/CentOS
dnf install alsa-lib-devel
Usage
Example of a basis for a game:
extern crate caper;
use caper::types::{DefaultTag, RenderItemBuilder, TransformBuilder};
use caper::game::*;
use caper::mesh::gen_cube;
use caper::imgui::Ui;
use caper::input::Key;
use caper::utils::handle_fp_inputs;
fn main() {
let mut game = Game::<DefaultTag>::new();
game.add_render_item(
RenderItemBuilder::default()
.vertices(gen_cube())
.instance_transforms(vec![
TransformBuilder::default()
.pos((-0.5, 0.0, -5.0))
.build()
.unwrap(),
])
.build()
.unwrap(),
);
loop {
let status = game.update(|_: &Ui| {}, |g: &mut Game<DefaultTag>| -> UpdateStatus {
handle_fp_inputs(&mut g.input, &mut g.cams[0]);
if g.input.keys_down.contains(&Key::Escape) {
return UpdateStatus::Finish;
}
UpdateStatus::Continue
});
if let UpdateStatus::Finish = status {
break;
}
}
}
Check out the examples and run with:
cargo run --example transforms
License