blitzkit 0.6.0

A small 2D and 3D game engine over wgpu: meshes, textures, lighting, shadows, collision, text and sound
Documentation

blitzkit

In which I develop a wrapper around wgpu-rs to create a graphics development engine in rust.

2d and 3d. I built four games using it as the engine to prove it out.

Feel free to follow along!

Games built on it

There are also examples in this repo. Not games, just demonstrations.

Examples

cargo run --release --example teapot is the Utah teapot, from the control points Martin Newell measured off a real one in 1975. Pressing T turns it translucent.

The Utah teapot in white, spout to the left and handle to the right, casting a teapot shaped shadow

The same teapot in glass, its far wall, the underside of its lid and its handle all showing through the near wall

cargo run --release --example klein is a Klein bottle you can turn any way you drag it. M swaps the wire mesh for the solid surface and T make it translucent.

A Klein bottle drawn as a wire mesh, its neck curving over and back down into its body, casting a lattice shadow on the floor

The same bottle in glass, the neck visible carrying on down inside the body after it passes through the wall

cargo run --release --example tunnel

Looking down a tunnel of dark and light checks receding to a vanishing point, with a gold ring hanging off centre partway down it

Flying down the inside of a surface. Steer through the gold ring.

License

The code is under MIT or Apache-2.0, whichever you prefer.

The font that ships with it, Press Start 2P, is not mine and is licensed separately under the SIL Open Font License 1.1. That license travels with it in res/fonts/OFL.txt.