Expand description
§Kludgine
Kludgine aims to be a lightweight, efficient 2d rendering framework powered by wgpu. Its name Kludgine is named in a way to hopefully be ironic in nature, but it’s being designed and written by a developer that was fairly new to modern graphics programming and Rust. Thus, it is probably a kludge.
Without the app
feature enabled, Kludgine provides an API inspired by wgpu’s
Encapsulating Graphics Work article.
With the app
feature enabled, Kludgine provides an easy-to-use API for running
multi-window applications.
The API is still a work in progress. The examples
folder contains
many examples that highlight a specific feature.
§Project Status
This project is early in development as part of Cushy. It is considered alpha and unsupported at this time, and the primary focus for @ecton is to use this for his own projects. Feature requests and bug fixes will be prioritized based on @ecton’s own needs.
If you would like to contribute, bug fixes are always appreciated. Before working on a new feature, please open an issue proposing the feature and problem it aims to solve. Doing so will help prevent friction in merging pull requests, as it ensures changes fit the vision the maintainers have for Cushy.
Re-exports§
pub use cosmic_text;
pub use image;
pub use figures;
pub use wgpu;
Modules§
- Application and Windowing Support.
- An easy-to-use batching renderer.
- Types for drawing paths and shapes.
- Types for animating textures.
- Types for text rendering.
Macros§
- Includes an Aseprite sprite sheet and Json export. For more information, see
Sprite::load_aseprite_json
. This macro will append “.png” and “.json” to the path provided and include both files in your binary. - Loads a texture’s bytes into the executable. This macro returns a result containing a
LazyTexture
.
Structs§
- A clipped surface.
- A texture that is contained within a
TextureCollection
. - A red, green, blue, and alpha color value stored in 32-bits.
- A drawable source with optional translation, rotation, and scaling.
- A frame that can be rendered.
- A context used to prepare graphics to render.
- A 2d graphics instance.
- The unique ID of a
Kludgine
instance. - A
TextureSource
that loads its data lazily. - A graphic that is on the GPU and ready to render.
- A graphics context used to render previously prepared graphics.
- A cloneable texture.
- An image stored on the GPU.
- A collection of multiple textures, managed as a single texture on the GPU. This type is often called an atlas.
- A region of a
SharedTexture
.
Enums§
- A type that can be any
TextureSource
implementation that is provided by Kludgine. - The origin of a prepared graphic.
- A texture that can be cloned cheaply.
Traits§
- A resource that can be checked for surface compatibility.
- A graphics context that has been clipped.
- Translation, rotation, and scaling for drawable types.
- A type that can be drawn in Kludgine.
- A generic graphics context.
- A unit that is able to be scaled by the GPU shader.
- A source of triangle data for a shape.
- A type that is rendered using a texture.