Expand description
§What is This?
Crayon is a small, portable and extensible game framework, which loosely inspired by some amazing blogs on bitsquid, molecular and floooh.
Some goals include:
- Extensible through external code modules;
- Run on macOS, Linux, Windows, iOS, Android from the same source;
- Built from the ground up to focus on multi-thread friendly with a work-stealing job scheduler;
- Stateless, layered, multithread render system with OpenGL(ES) 3.0 backends;
- Simplified assets workflow and asynchronous data loading from various filesystem;
- Unified interfaces for handling input devices across platforms;
- etc.
This project adheres to Semantic Versioning, all notable changes will be documented in this file.
§Quick Example
For the sake of brevity, you can als run a simple and quick example with commands:
git clone git@github.com:shawnscode/crayon.git
cargo run --example modules_3d_prefab
Re-exports§
Modules§
- application
- A unified application model across all target platforms.
- errors
- input
- Provides unified access to input devices across platforms.
- math
- This module contains the math utils that mainly comes from
cgmath
andcollision-rs
. - prelude
- res
- The
ResourceSystem
provides standardized interface to load data asynchronously from various filesystem, and some utilities for modules to implement their own local resource management. - sched
- utils
- Commonly used utilities like pools, variants and so on.
- video
- A stateless, layered, multithread video system with OpenGL backends.
- window
- Represents an OpenGL context and the window or environment around it.
Macros§
- assert_
relative_ eq - assert_
relative_ ne - assert_
ulps_ eq - assert_
ulps_ ne - error
- Logs a message at the error level.
- impl_
handle - impl_
vertex - info
- Logs a message at the info level.
- main
- relative_
eq - Predicate for testing the approximate equality of two values.
- relative_
ne - Predicate for testing the approximate inequality of two values.
- ulps_eq
- Predicate for testing the approximate equality of two values using a maximum ULPs (Units in Last Place).
- ulps_ne
- Predicate for testing the approximate inequality of two values using a maximum ULPs (Units in Last Place).
- warn
- Logs a message at the warn level.