Karl
banner
hexaquo.at
Karl
@hexaquo.at
Researcher, teacher and activist somewhere at the intersection of landscape perception, graphics programming, open source, and climate change.

Working on VR landscape visualization with Godot. Maintaining Geodot: https://github.com/boku-ilen/geodot-plugin
Lens Flare update: exposed all configurable parameters now. There's probably still a lot of potential for performance optimization, but I'd say it's somewhat usable :)

You can check it out here, should work in any project (though requires some HDR care):
github.com/kb173/godot-...

#Godot #gamedev
December 29, 2025 at 2:30 PM
Reposted by Karl
Gaussian splats are quite the rage lately (for good reason).

Yet the technique is actually quite old!


35 years ago, Lee Westover created the worlds first splat with the “UNC Head” dataset.

A high-res CT scan...much too detailed for computers at the time.
December 23, 2025 at 8:27 PM
Reposted by Karl
December 25, 2025 at 11:06 PM
If you want your #Godot game to look like Battlefield 3, I got you
December 23, 2025 at 1:21 PM
More work on procedural lens flares in #Godot.

If you want to have a look at the (still very messy!) code: github.com/kb173/godot-...

Outline of how it works:
1. Clip bright spots from the rendered image
2. Warp these spots to create ghosts and a halo
3. Blur
4. Overlay based on a dirt texture
December 18, 2025 at 9:55 PM
Reposted by Karl
My "No Graphics API" blog post is live! Please repost :)
www.sebastianaaltonen.com/blog/no-grap...

I spend 1.5 years doing this. Full rewrite last summer and another partial rewrite last month. As Hemingway said: "First draft of everything is always shit".
No Graphics API — Sebastian Aaltonen
Graphics APIs and shader languages have significantly increased in complexity over the past decade. It’s time to start discussing how to strip down the abstractions to simplify development, improve pe...
www.sebastianaaltonen.com
December 16, 2025 at 6:52 PM
Finally learning CompositorEffects #Godot

Lens flare based on this blog: john-chapman-graphics.blogspot.com/2013/02/pseu...
December 16, 2025 at 5:49 PM
Reposted by Karl
Graphics Programming weekly - Issue 419 - December 7th, 2025 www.jendrikillner.com/post/graphic...
December 8, 2025 at 3:31 PM
Reposted by Karl
Good idea using gaussians for tiled floor vegetation:
yunfan.zone/gswt_webpage/ #3dgs #gamedev #rendering
December 3, 2025 at 8:28 PM
I often talk about bent normals for billboards, and I keep having to mention the "if (!FRONT_FACING) NORMAL = -NORMAL" workaround for correct backface lighting. I realized I could fix that myself, so I opened a PR for an intuitive material option and render_mode:
github.com/godotengine/...
#Godot
November 26, 2025 at 4:19 PM
Reposted by Karl
I don't understand how they could get

(?:(?:\"|'|\]|\}|\\|\d|(?:nan|infinity|true|false|null|undefined|symbol|math)|\`|\-|\+)+[)]*;?((?:\s|-|~|!|{}|\|\||\+)*.*(?:.*=.*)))

so wrong
November 18, 2025 at 9:16 PM
On my way home from #GodotFest. Thanks so much to everyone for this incredible event! Hope to see you all again soon :)

My presentation on foliage rendering in #Godot is already up on YouTube: www.youtube.com/watch?v=U2nB...

And I also shared my slides here: slides.com/hexaquo/plan...
Karl Bittner: Plants, Polygons and Pixels: Large-Scale Vegetation Rendering in Godot #GodotFest2025
YouTube video by GodotFest
www.youtube.com
November 13, 2025 at 1:42 PM
Reposted by Karl
I’m now seeing a talk about large scale vegetation rendering in Godot, by Karl Bittner.

He mentions there is an open source alternative to speedtree, which he has barely heard mentioned: EZ tree: www.eztree.dev

It even has an in-browser 3D viewer in which you can try different seeds for the trees!
November 11, 2025 at 2:39 PM
on my way to #GodotFest! hope to meet some of you there :)
November 10, 2025 at 3:41 PM
Reposted by Karl
The easiest way to create action lines in a shader is to take some noise and convert its UVs to polar coordinates 🙂

#godot #indiedev #gamedev
November 8, 2025 at 7:38 AM
🔜 #GodotFest

Want to see these slides (and many more) live? Then join my presentation on November 11th at GodotFest in Munich :)

#godot #gamedev
October 21, 2025 at 3:07 PM
Reposted by Karl
Graphics Programming weekly - Issue 413 - October 19th, 2025 www.jendrikillner.com/post/graphic...
October 20, 2025 at 1:13 PM
Reposted by Karl
Here's how to scatter objects in Blender 5.0 with just a few nodes ✨
Instance scattering in blender
Blender 5.0 is coming to save us from the spaghetti hell! Here’s a ridiculously simple blender 5.0 node setup that scatters objects on the surface of a mesh inside of the volume of some other mesh: An...
passivestar.xyz
October 14, 2025 at 11:45 PM
Reposted by Karl
Can you actually tell the difference between lossless and lossy compressed audio? (With your current headphones/speakers and ears)
abx.digitalfeed.net/list.html
ABX High Fidelity Test list
A set of browser-based ABX tests comparing lossless and lossy music samples
abx.digitalfeed.net
October 14, 2025 at 4:46 AM
Reposted by Karl
Trying out 2 different approaches to leaf rendering on trees.

The first is a custom mesh, where each quad of the mesh is extended along the normals.

The second is are multimeshes of quads, where the normal is based on the vertex position relative to the center of the multimesh.

#GodotEngine
October 9, 2025 at 12:48 PM
Reposted by Karl
Graphics Programming weekly - Issue 411 - October 5th, 2025 www.jendrikillner.com/post/graphic...
October 7, 2025 at 1:31 PM
Reposted by Karl
So-called #genAI means the abolition of the future through the proliferation of endless streams of stochastically rendered generic pasts. Having turned large parts of the cultural archive into training data, it now traps us in a foreverized pastness, a 24/7 nostalgia for a past that never existed
have just come across a YouTube account that has been using Sora to upload reels of fake, AI-generated “90s sitcoms” every few hours
October 7, 2025 at 12:32 PM
Reposted by Karl
New blog post: Outlining an alternative path to learn graphics programming.

themaister.net/blog/2025/10...
A case for learning GPU programming with a compute-first mindset – Maister's Graphics Adventures
themaister.net
October 5, 2025 at 12:58 PM
Reposted by Karl
In light of EA's upcoming change of ownership... here's your annual reminder that Will Wright's original GDC 2005 demo of Spore was one of the most incredible game demos every presented, before the game was utterly and totally ruined by EA's meddling.

www.youtube.com/watch?v=ofA6...
Will Wright GDC 2005 Spore (The Future of Content) Remastered
YouTube video by Zeusmonomon
www.youtube.com
October 2, 2025 at 9:26 PM