micro-engine is an header-only graphics engine. It is composed of several independent headers from the beautiful microheaders collection.
Unlike my other graphics engine, Brenta-Engine, micro-engine favors absolute simplicity over powerful but complex features. It is written in C99, graphics are software rendered with a focus on 2D, and it has no dependencies.
- deisgned for extreme portability
- platform is abstracted in
micro-platform.h, you need to implement just a few functions to port the engine. See platforms - plug your custom memory allocator (
micro-arena.his used by default) - no dependencies (the core headers can be compiled without libc)
- works everywhere C can compile to
- easy to create bindings for other languages
- platform is abstracted in
- modularity: everything can be used as a stand-alone header-only library, meaning that you can use any part of the engine in your own codebase
- simplicity: you have a raw buffer where you can draw pixels to, the rest is in your control
- microheaders included:
- micro-draw.h: rendering library
- micro-log.h: logging library
- micro-la.h: linear algebra, math functions and structures
- micro-arena.h: custom memory allocator
- micro-tests.h: testing framework
- micro-serde.h: serialization / deserialization
- micro-flag.h: parse command line arguments
- micro-module.h: module / plugin / hot-reloading support
- micro-conf.h: config files parsing
- micro-bench.h: benchmarking library
- micro-hash.h: plenty of hash functions
- micro-fswatcher.h: filesystem events
- micro-fft.h: Fast Fourier Trasform implementation
- micro-platform.h: platform abstraction
- micro-app.h: event loop
- llist.h: linked list implementation
- hashset.h
- hashmap.h

