Crate crayon

Source
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§

pub extern crate bincode;
pub extern crate uuid;

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 and collision-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.