Features
| Component | Highlight |
|---|---|
| Windowing | Pure Rust (no GLFW/SDL), WASM-ready |
| Primitive & Texture Rendering | Zero-config builders with NDC conversion |
| Input Handling | Snapshot polling (no callbacks) |
| Timing | Delta time + FPS tracking |
Getting Started
Get egor
Example: Creating a window, clearing the surface and drawing a circle with 100 segments
init
.run;
See more examples in examples/
You can run any examples with cargo or run the cross-platform example via bash run.sh [native|webgpu|webgl] [debug|relesae]. The script will execute either the former or trunk serve to run a web build, based on the arguments passed. It'll also setup a WASM target and trunk if needed
Platform Support
| Target | Backend(s) | Status |
|---|---|---|
| Windows | DX12, Vulkan, OpenGL | ✅ Working |
| MacOS | Metal, Vulkan (MoltenVK) | ✅ Working |
| Linux | Vulkan, OpenGL | ✅ Working |
| Web (WASM) | WebGPU, WebGL2 | ✅ Working |
| Android | Vulkan, OpenGL ES | ⏳ Future |
| iOS | Metal | ⏳ Future |
Roadmap
- Text
- Custom Shaders
- Blend Modes
- Camera System
- Immediate UI
Contributing
Egor could always use help.. Feel free to open an issue or PR. Contributions are much appreciated!