Geolm
geolm.bsky.social
Geolm
@geolm.bsky.social
Team lead in the video game industry, in my spare time : saxophonist/composer, chess patzer, pixelart lover. All expressed opinions are my own.
Just released a single-file C99 library to create MJPEG AVI videos from an RGBA framebuffer.

github.com/Geolm/mjpegw

Like jo_mpeg, but MJPEG gives higher quality (larger files).
• 3-function API
• No dependencies
• No audio
• Plays in ffmpeg & VLC

Huge thanks to Tiny-JPEG for the JPEG part.
GitHub - Geolm/mjpegw: Tiny C99 library for creating MJPEG AVI files. No external dependencies
Tiny C99 library for creating MJPEG AVI files. No external dependencies - Geolm/mjpegw
github.com
November 21, 2025 at 10:38 AM
Some optimizations news: NEON + decoder table in bc_crunch → decrunch ~1.5× faster, crunch ~1.3× faster. No plans for more performance tweaks right now, but I left some ideas in the README. Ping me if you want to chat about them!
November 19, 2025 at 10:23 AM
Hi everyone! Thanks for the interest in my library bc_crunch. Quick update: I’m currently working on optimizations. Two major bottlenecks have been identified, and fixes are on the way. I’ll share some performance numbers soon and add a profiling test to the repo.
November 18, 2025 at 9:30 AM
Just released bc_crunch: a tiny (~700 LOC), C99 library for lossless BC1/BC4/BC3/BC5 compression.
One .c/.h pair, no deps, no malloc
GPU-ready output
Zigzag + delta + popcount/dictionary tricks
Tested
Perfect for games, procedural assets, streaming textures.

github.com/Geolm/bc_cru...
GitHub - Geolm/bc_crunch: tiny dependency-free lossless compressor for BC/DXT texture streams (C99, ~700 LoC)
tiny dependency-free lossless compressor for BC/DXT texture streams (C99, ~700 LoC) - Geolm/bc_crunch
github.com
November 15, 2025 at 1:18 PM
Hey everyone! I’m working on bc_crunch, a lossless BC1 (DXT) texture compressor/decompressor in C99 (~500 LOC, no dependencies). It compresses and decompresses textures bit-for-bit. Thinking of sharing it publicly, along with a doc on techniques tried—anyone interested?
November 12, 2025 at 12:29 PM
Big thanks to @flohofwoe.bsky.social for sokol_app — made it easy to keep github.com/Geolm/onedraw examples small and clean, no extra dependencies. Super smooth setup. Only thing I couldn’t find was a way to create sRGB backbuffer on macOS (did I miss that in the docs?).
GitHub - Geolm/onedraw: GPU driven 2d sdf renderer drop-in library
GPU driven 2d sdf renderer drop-in library. Contribute to Geolm/onedraw development by creating an account on GitHub.
github.com
November 7, 2025 at 9:23 AM
Excuse the coder art — this GIF shows the tile culling debug mode. Blue tiles are the ones that make it to the rasterizer. Notice how the interior of hollow shapes is efficiently skipped.

You can have look at the code and documentation here:
github.com/Geolm/onedraw
November 4, 2025 at 8:35 PM
Testing an approach to break a quadratic bezier into small SDFs:

Blue: straight lines (oriented box SDF)
Green: “pie” caps connecting lines
Red: arcs

Faster than a full bezier SDF, though tricky with large stroke widths.

All done with my open-source GPU renderer github.com/Geolm/onedraw
November 3, 2025 at 4:28 PM
Hello everyone, I wrote an extensive documentation on the GPU‑driven 2D renderer I’ve been working on.

Check out the overview here: github.com/Geolm/onedra...

If you're interested, here's the repo URL:
github.com/Geolm/onedraw

#GPU #2DGraphics #OpenSource #Metal #Rendering
November 3, 2025 at 9:14 AM
Calling macOS (Apple Silicon) devs
Looking for early testers for onedraw, my GPU-driven 2D renderer built with Metal. Feedback before release would be super appreciated 🙏

github.com/Geolm/onedraw#Metala#GPUDrivenen
https://github.com/Geolm/onedraw
November 1, 2025 at 5:11 PM
Another test for my upcoming 2D GPU-driven renderer: 5000 oriented, rounded boxes with transparency.
All alpha blending is computed in-shader.
Everything on screen (UI, text, shapes, etc.) is drawn in a single pass, writing only opaque pixels.
1440p @ 5.43 ms on an M1 Pro

#Metal #Rendering #SDF
October 24, 2025 at 8:42 AM
Testing the smoothmin operator (iquilezles.org/articles/smin) in my 2D GPU-driven renderer. Performance takes a small hit, but the k-value has to be considered for binning — high k lets circles blend even when they don’t touch.
October 22, 2025 at 2:43 PM
Just released a side-quest project: leanUI — a super-lightweight, dependency-free immediate-mode UI library in C99. Animated widgets and sleak design github.com/Geolm/leanUI
#C99 #gamedev #opensource #UI #leanUI
October 15, 2025 at 9:02 AM
Few months ago I've started a hobby project : a 2d sdf editor. I wanted to sculpt a sdf without writting shader code. It's still the very beginning but you can have a look at the github page github.com/Geolm/Toodee... I'll try to post videos and screenshots in the future
GitHub - Geolm/ToodeeSculpt: a 2D sdf combiner editor
a 2D sdf combiner editor. Contribute to Geolm/ToodeeSculpt development by creating an account on GitHub.
github.com
March 3, 2025 at 2:47 PM