1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
//! # What is This? //! //! Crayon is an experimental purpose game engine, written with a minimalistic //! modular design philosophy. Its built from the ground up to focus on cache //! friendly data layouts in multicore environments with entity-component based //! architecture. //! //! It is loosely inspired by some amazing blogs on [bitsquid](https://bitsquid.blogspot.de) //! and [molecular](https://blog.molecular-matters.com). Some goals include: //! //! - Extensible through external code modules; //! - Run on [x]macOS, [x]Windows, iOS, Android, WebAssembly from the same source; //! - Stateless, layered, multithread render system with OpenGL(ES) 2.0+ backends; //! - Entity component system with a data-driven designs; //! - Unified access to input devices across platforms; //! - Asynchronous data loading from various filesystem. //! //! Please read the documents under modules for specific usages. //! //! ## Quick Example //! //! For the sake of brevity, you can also run a simple and quick example with commands: //! //! ```sh //! git clone git@github.com:shawnscode/crayon.git && cd crayon/crayon-examples //! cargo run imgui //! ``` extern crate libc; extern crate glutin; extern crate gl; #[macro_use] extern crate error_chain; extern crate zip; extern crate two_lock_queue; extern crate bit_set; #[macro_use] pub extern crate lazy_static; pub extern crate cgmath as math; #[macro_use] pub mod utils; pub mod application; #[macro_use] pub mod ecs; #[macro_use] pub mod graphics; pub mod resource; pub mod input; pub mod prelude;