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
January 13, 2026 at 3:24 PM
Thanks, yeah feel free to take any code that's useful! I can get some nice anamorphic glare with the right settings; if you also want to stretch the lens flare ghosts, you could probably apply the glare blur filter (streak.glsl in my repo) to the buffer used for the ghosts. (or just warp the UVs)
January 8, 2026 at 3:20 PM
January 8, 2026 at 12:28 PM
January 8, 2026 at 12:28 PM
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
If you want your #Godot game to look like Battlefield 3, I got you
December 23, 2025 at 1:21 PM
December 18, 2025 at 9:55 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
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
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
on my way to #GodotFest! hope to meet some of you there :)
November 10, 2025 at 3:41 PM
🔜 #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
The idea is: make the vertices stick to the camera rather than passing behind it, and use alpha to make these vertices fade out as the camera is moving through the mesh.
October 4, 2025 at 4:47 PM
This got me wondering what would be the easiest way to make meshes appear like a volume when moving through them (using only shaders). This is what I came up with:
October 4, 2025 at 4:47 PM
In the visualization project I work on I do something very similar: fade the billboard vegetation into an impostor which is a "Next Pass" of the clipmap terrain - same geometry, but moved up to match the plant height and textured by mashing the local plants' billboard textures together.
August 25, 2025 at 8:49 PM
After some theory about LOD, I go over my approach to creating impostors for foliage, sharing some trickery I've learned over time. The result is a plane which behaves very similar to the grass geometry, without actually having any extra geometry.

Please reach out if anything is unclear or missing!
August 25, 2025 at 4:18 PM
Finally finished part 4 of my Godot Grass Rendering Series! In this one, we'll dive deep into level-of-detail and impostors to create an infinite field of grass while keeping the GPU cool:

hexaquo.at/pages/grass-...

#godot #gamedev
August 25, 2025 at 4:18 PM
New tutorial blog post!
Environment and Light in Godot: Setting Up For Photorealistic 3D Graphics

hexaquo.at/pages/enviro...

I've been meaning to write this for a while, both as an overview over Godot's Environment, and as an entry point to realistic 3D graphics.

#godot #gamedev
August 17, 2025 at 5:33 PM
Vineyards

#godot #gamedev
August 3, 2025 at 9:38 PM
Your game looks interesting, are the facades from street-level images? The roads and rails (which I saw in a screenshot you posted before) look similar to the ones in our landscape visualization.
July 26, 2025 at 9:10 PM
Larger asphalt roads do exist as thin 3D objects, but they also alter height and foliage for a banquet and a smooth transition.
July 17, 2025 at 2:11 PM
I've been working on our road system, which can now alter both terrain and foliage in real-time. Country lanes like this don't exist as actual objects, they just write into the terrain offset and foliage maps.
July 17, 2025 at 2:11 PM
Afternoon stroll

#godot #gamedev
July 17, 2025 at 2:11 PM
July 13, 2025 at 7:31 AM
This article is a great overview on texture padding! I've also done a thread on it here when I found out how important it is for billboard plants; I ended up using GMIC's solidify algorithm, which works well for noisy plant textures made from photographs. Here's the script and the before/after:
July 12, 2025 at 7:36 PM