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
Ah thank you so much, that's great to hear!
Would've loved to chat with you as well, hopefully next year :)
November 14, 2025 at 1:17 PM
Oh that was @flamelizard.bsky.social and me! thanks for investigating and posting, that's great to know! and yes, would be great if that was more automatic and/or explicit
November 14, 2025 at 1:15 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
That was fascinating, thanks for sharing! I felt really unsure, but got 72% on the 160kbps lame mp3 test. Seems like the very subtle perceived difference (where I wasn't sure if I was imagining it or not) was right more often than not.
October 14, 2025 at 8:05 PM
now I'm curious too, did you figure it out?
October 11, 2025 at 7:23 AM
Ahh right, of course. I knew I was missing something 😅 that's tricky!
October 4, 2025 at 6:07 PM
I see, and if I understand correctly, what you'd want is for this "next pass" to only render on top of back-faces (as in the first picture), but not on top of front-faces (second picture), right? Could you use something like sign(dot(camera_direction, normal)) to differentiate between that?
October 4, 2025 at 5:55 PM
Oh interesting! I might be missing something but could you check the dot product between camera direction and mesh normal and use the inverted depth test only if that is negative, i.e. if the thing that's currently being rendered is a back-face and not a front-face?
October 4, 2025 at 5:30 PM
Using a sphere made it a bit easier because I could pass the radius for figuring out when the camera has reached the other side. Maybe that could at least be generalized to symmetric meshes by using the model-space vertex length or something? (But maybe using an approximate radius is good enough)
October 4, 2025 at 4:47 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