Skip to content
modkitv0.2

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.

Terminal window
git clone https://github.com/seemsindie/modkit
cd modkit
./scripts/pull-deps.sh
./scripts/build-linux.sh

That produces the core plus every example the default options enable. To build and run a single example:

Terminal window
./scripts/build-linux.sh release --target=01_hello --run

Packages are opt-in flags. PBR, IBL, particles, physics and the rest are off unless asked for:

Terminal window
./scripts/build-linux.sh --pbr --ibl --particles
#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.