#graphics-engine #real-time #headless #focus #built #assets #web

perigee

A headless realtime 3D engine built with a focus on the web

23 releases (6 breaking)

0.7.0 May 7, 2023
0.5.6 Apr 21, 2023
0.5.1 Mar 31, 2023

#460 in WebAssembly

Download history 244/week @ 2024-02-18 192/week @ 2024-02-25 2/week @ 2024-03-10 199/week @ 2024-03-31

201 downloads per month

MIT license

105KB
2.5K SLoC

Perigee

A headless realtime 3D engine built with a focus on the web.

For a (growing) list of examples, check out perigee.aunyks.com.

Why this?

I want the core logic of my video games to fit in a single WebAssembly binary so I'm free to handle input and graphics on any platform I want (desktop, web, refrigerator, console, mobile, etc) while the behavior stays the same.

This means that I can compile my game to a single, portable .wasm file and I (or other developers / modders) can bring the game to a new platform, change audio or visual assets, or use new input devices without needing to recompile the core game logic.

Why not this?

If you're not interested in portability, or if you absolutely despise writing WebAssembly glue code between a Perigee binary and your runtime(s) of choice, then other engines may be better for you.

Installation

Rust
Add the following to your Cargo.toml

[dependencies]
perigee = "0.7.0"

Blender
Instructions coming soon

Development Requirements

  • Blender Addon (blender_addon/)
  • Rust Crate (rust/)
    • Rust and its Cargo package manager to build the core game simulation
    • Rustfmt for formatting
    • Clippy for linting

Licensing

Licensed under the MIT license.

Copyright © 2023 Gerald Nash

Dependencies

~9MB
~186K SLoC