Caper
Small game framework using rust and glium.
Currently has systems for:
- Rendering
- Input
- Physics (using nphysics)
Still to be added:
Documentation
Example of a basis for a game:
extern crate caper;
use caper::types::{ RenderItemBuilder, TransformBuilder };
use caper::game::Game;
use caper::mesh::gen_cube;
use caper::imgui::Ui;
use caper::input::Key;
fn main() {
let mut game = Game::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 {
game.update(|_:&Ui|{ });
game.input.handle_fp_inputs(&mut game.cam_state);
if game.input.keys_down.contains(&Key::Escape) { break; }
}
}
Check out the examples and run with:
cargo run --example transforms
License