Getting started
modkit is a C framework built on bgfx and SDL3. It ships a small core with everything else behind opt-in CMake packages, so a build contains only what you asked for.
git clone https://github.com/seemsindie/modkitcd modkit./scripts/pull-deps.sh./scripts/build-linux.shThat produces the core plus every example the default options enable. To build and run a single example:
./scripts/build-linux.sh release --target=01_hello --runPackages are opt-in flags. PBR, IBL, particles, physics and the rest are off unless asked for:
./scripts/build-linux.sh --pbr --ibl --particlesThe smallest program
Section titled “The smallest program”#include <modkit/modkit.h>#include <modkit/app.h>
static void frame(void* user_data) { (void)user_data; mk_clear(MK_RGBA(0x11, 0x11, 0x14, 0xff)); mk_debug_text(10, 10, "hello, modkit");}
int main(void) { mk_app_desc desc = { .title = "hello", .width = 1280, .height = 720, .frame_cb = frame, }; return mk_app_run(&desc);}mk_app_run owns the loop and calls frame_cb once per frame. There is no implicit
global state to set up first — mk_clear opens the default pass for you.
Where to go next
Section titled “Where to go next”- Render passes — how drawing is actually organised.
- JavaScript binding — the same engine in the browser, with demos that run on the page.
- API reference — every public symbol.