A simple 3D and 2D graphics engine for Rust designed for minimal friction when drawing geometric figures.
Kiss3d is a Keep It Simple, Stupid (KISS) 3D and 2D graphics engine for Rust. It enables developers to quickly create and manipulate 3D scenes with minimal code by providing a simple API for rendering basic geometric shapes, handling cameras, and applying basic post-processing effects. It addresses the frustration with existing libraries that are either too low-level, requiring extensive setup and shader programming, or overly complex high-level engines aimed at photorealistic rendering.
Rust developers who need to quickly prototype 3D visualizations, create simple interactive 3D applications, or build educational tools without dealing with complex graphics programming. It's particularly suitable for developers who want cross-platform compatibility between native and web (WASM) environments.
Developers choose Kiss3d for its minimal friction approach—it opens a window with a default arc-ball camera and point light out of the box, provides built-in mouse and keyboard controls, and uses a unified async API that works identically on native and WASM platforms without code changes. Unlike more complex engines, it prioritizes simplicity over feature-completeness or maximum performance.
Keep it simple, stupid 3d graphics engine for Rust.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The unified async API and #[kiss3d::main] macro allow the same code to run identically on native and web platforms without changes, as shown in the example code.
Opens a window with a default arc-ball camera and point light immediately, reducing initial configuration to near zero lines of code.
Rendering basic shapes like cubes and spheres is straightforward with methods like add_cube(), requiring minimal boilerplate.
Provides default mouse and keyboard interactions for camera manipulation, such as zoom and rotation, eliminating custom input handling.
Admits it is not feature-complete, lacking advanced graphics features like complex shaders, realistic lighting, or extensive post-processing effects.
Optional features like recording require external FFmpeg installation, adding platform-specific setup steps that complicate deployment.
Designed for simplicity over optimization, so it may struggle with rendering large scenes or maintaining high frame rates in demanding applications.