Sign in

Geolm

@geolm.bsky.social
79 followers 163 following 67 posts

Team lead in the video game industry, in my spare time : saxophonist/composer, chess patzer, pixelart lover. All expressed opinions are my own.

PostsRepliesMedia
Geolm @geolm.bsky.social · 09/10/2026
my new lib bc_packed is out! currently BC1 only, 1.47:1 average compression ratio, CPU/GPU parallel decompression (15300 MiB/s on my M5 Pro GPU), rice encoding with static rank tables. lossless and no dependencies! github.com/Geolm/bc_pac...
github.com
GitHub - Geolm/bc_packed: An asymmetric lossless compressor for already-compressed BC textures, designed for full GPU decompression.
An asymmetric lossless compressor for already-compressed BC textures, designed for full GPU decompression. - Geolm/bc_packed
020
Geolm @geolm.bsky.social · 06/10/2026
I'm about to archive my bc_crunch library as I will release soon its successor that focuses on high-speed decompression. Latest test gives 2650.8 MiB/s on CPU but the decoder is designed to run on the GPU. I hope I can share some GPU numbers soon...
120
Geolm @geolm.bsky.social · 25/09/2026
it's weird but somehow my native webgpu version of onedraw (github.com/Geolm/onedra...) is less popular than the Metal's one. Are you all on macOS? ;) By the way, I'm still adding some features (I'm guilty of having too many projects at the same time).
github.com
GitHub - Geolm/onedraw-webgpu: WebGPU tile-based 2d renderer with compute-driven binning and indirect draws
WebGPU tile-based 2d renderer with compute-driven binning and indirect draws - Geolm/onedraw-webgpu
010
Geolm @geolm.bsky.social · 14/06/2026
Forgot to mention: my GPU-driven 2D WebGPU renderer is now public: github.com/Geolm/onedra... Not an official release yet, but it's usable. One .c file to integrate, tested on Win32 and macOS. More features coming once the heat wave stops melting me.
github.com
GitHub - Geolm/onedraw-webgpu: WebGPU tile-based 2d renderer with compute-driven binning and indirect draws
WebGPU tile-based 2d renderer with compute-driven binning and indirect draws - Geolm/onedraw-webgpu
030
Reposted by Geolm
Markus Schütz @m-schuetz.bsky.social · 24/04/2026
New Paper🙂 Nanite has shown that small triangles can be rendered fast in compute, we're exploring how fast for large meshes with up to 18.9 billion triangles, without the need to precompute LOD structures. Paper: github.com/m-schuetz/Cu... Source: github.com/m-schuetz/Cu...
26820
Geolm @geolm.bsky.social · 31/03/2026
Some news about my WebGPU gpu-driven 2d port: The GPU binning phase is working, but there are still issues with culling, likely related to AABB tests. Debugging WebGPU in Xcode is a nightmare: a lot of passes unneeded, no way to inspect shader source or code easily, no stepping in shaders...
000
Geolm @geolm.bsky.social · 20/03/2026
I’m porting my 2D SDF GPU-driven renderer (onedraw) from Metal to the WebGPU API. A few observations so far: - Pure C API, no more Objective-C or metal-cpp 👍 - WGSL :( - A lot more boilerplate for bind group and pipeline setup - ~30 MB executable just to clear the backbuffer
011
Geolm @geolm.bsky.social · 23/01/2026
As people asked for better decompression speed in my bc_crunch lib, I started experimenting with Huffman coding. First results look promising: compression ratio is still better than zlib (~1.52:1) and decompression reaches ~144 MB/s. github.com/Geolm/bc_cru... (BC1 only for now)
github.com
GitHub - Geolm/bc_crunch at huffman
tiny dependency-free lossless compressor for BC/DXT texture streams (C99, ~1000 LoC) - GitHub - Geolm/bc_crunch at huffman
040
Geolm @geolm.bsky.social · 07/01/2026
I didn't had the luxury to work on my personal projects during the holidays season but here's a video of my attempt to animate my creature using position based dynamics (distance/angle/elbow constraint + ik).
010
Geolm @geolm.bsky.social · 12/12/2025
People kept asking me to compare bc_crunch with zlib, so I finally ran the tests. Overall, bc_crunch comes out ahead. More details are available on the GitHub page. bc_crunch BC1: 1.580368 vs zlib: 1.436144 bc_crunch BC4: 1.327702 vs zlib: 1.104125 I used miniz with the highest compression setting
010
Geolm @geolm.bsky.social · 10/12/2025
Hey, I thought I was done with bc_crunch, but I tried one last idea: Inter-channel differential coding. It works pretty well. The average compression ratio for BC1 went from 1.494:1 to 1.580:1, finally breaking the 1.5× barrier. It's already available here: github.com/Geolm/bc_cru...
github.com
GitHub - Geolm/bc_crunch: tiny dependency-free lossless compressor for BC/DXT texture streams (C99, ~800 LoC)
tiny dependency-free lossless compressor for BC/DXT texture streams (C99, ~800 LoC) - Geolm/bc_crunch
140
Reposted by Geolm
Walaber @walaber.com · 04/12/2025
Haven't done a camera analysis in a while! Here's a quick look at the camera for Metroid Dread 🎥
5437102
Geolm @geolm.bsky.social · 03/12/2025
Experimenting with a new control: a knob :) It should land in the public leanUI library soon. And yes, I’m working on a synth… stay tuned (pun intended).
100
Geolm @geolm.bsky.social · 27/11/2025
Needed a simple way to spawn 2D objects (grass blades, stones, etc.) in composite shapes or along splines, so I wrote this: github.com/Geolm/spawn2d. It’s minimal, single-file, and easy to drop into any project.
github.com
GitHub - Geolm/spawn2d: Uniform sampling in combined shapes with overlap handling and distance constraints. (~300 LOC, C11)
Uniform sampling in combined shapes with overlap handling and distance constraints. (~300 LOC, C11) - Geolm/spawn2d
131
Geolm @geolm.bsky.social · 26/11/2025
Uniform Catmull–Rom spline sampling with disc collision and exclusion zones. Poisson-like, but curve-specific.
020
Geolm @geolm.bsky.social · 26/11/2025
Working on a uniform sampler with dynamic exclusion zones for procedural gen. Solid results so far, code release is possible once it’s cleaner.
010
Geolm @geolm.bsky.social · 21/11/2025
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.com
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
130
Geolm @geolm.bsky.social · 19/11/2025
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!
100
Geolm @geolm.bsky.social · 18/11/2025
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.
020
Geolm @geolm.bsky.social · 15/11/2025
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.com
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
3408
Geolm @geolm.bsky.social · 12/11/2025
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?
000
Geolm @geolm.bsky.social · 07/11/2025
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.com
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.
171
Geolm @geolm.bsky.social · 04/11/2025
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
000
Geolm @geolm.bsky.social · 03/11/2025
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
240
Geolm @geolm.bsky.social · 03/11/2025
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
160
Geolm @geolm.bsky.social · 01/11/2025
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 #Metal #GPUDriven
github.com
000
Geolm @geolm.bsky.social · 24/10/2025
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
030
Geolm @geolm.bsky.social · 22/10/2025
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.
100
Geolm @geolm.bsky.social · 15/10/2025
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
2193
Geolm @geolm.bsky.social · 03/03/2025
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.com
GitHub - Geolm/ToodeeSculpt: a 2D sdf combiner editor
a 2D sdf combiner editor. Contribute to Geolm/ToodeeSculpt development by creating an account on GitHub.
000