~mika/sofa

[ARCHIVED] A 2D software canvas library, using OpenGL to present the buffer.
Add licensing + fix last memory mgmt issue
sofa sitting

refs

latest
browse  log 

clone

read-only
https://src.m1kadev.nl/~mika/sofa
read/write
git@src.m1kadev.nl:~mika/sofa

You can also use your local clone with git send-email.

#sofa - opengl reference code for software rendering

#Building

make baselayout # or mkdir -p {obj,bin}
make engine
# make run

#Code

All code is c99 and compiles with -Wall -Wextra -Werrror -pedantic; feel free to use this as a reference for rendering/shaders/makefile/pkgconfig snippets

#platforms

Tested under Darwin (Darwin chives.local 25.6.0 Darwin Kernel Version 25.6.0: Fri Jul 31 19:11:03 PDT 2026; root:xnu-12377.161.14~5/RELEASE_ARM64_T8132 arm64). The provided OpenGL is hopefully portable on any POSIX C99 compiler.