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.
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
You can have look at the code and documentation here:
github.com/Geolm/onedraw
November 4, 2025 at 8:35 PM
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
You can have look at the code and documentation here:
github.com/Geolm/onedraw
Yes brute may work, but actually I'm trying to achieve good performances and use the "right" amount of sdf shapes. My test involved a bit, now I'm using capsule (blue)+box (green, for the sharp endpoints) and biarc (red). Still to handle the worst case (all control points colinear though)
November 3, 2025 at 8:01 PM
Yes brute may work, but actually I'm trying to achieve good performances and use the "right" amount of sdf shapes. My test involved a bit, now I'm using capsule (blue)+box (green, for the sharp endpoints) and biarc (red). Still to handle the worst case (all control points colinear though)
bsky only used the first image of my apng so let's use gif like it's 1998
November 3, 2025 at 4:31 PM
bsky only used the first image of my apng so let's use gif like it's 1998
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
#C99 #gamedev #opensource #UI #leanUI
October 15, 2025 at 9:02 AM
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
#C99 #gamedev #opensource #UI #leanUI