Bart Wilmink
History as business analyst, development manager and product owner, on a foundation of a strong technical background. Long time ago (android 1.6 era) once wrote a OpenGL renderer from scratch for a Android game. Now into Godot; making subsystems for rendering, NPC vision/hearing/situational awareness, enhanced 3D audio, etc.
Sessions
About Godot's LOD and HLOD capabilities; talk is beginner friendly but also contains items that should be interesting to veteran users.
- LOD and HLOD basics and pitfalls (of which there are quite a few)
- How to improve cross fades beyond the default offered methods
- Shadow issues stemming from cross-fade use and their workarounds
- Godot's default spherical approximation LOD selection method (visualized, and its implications for wide-screen supporting games, among others)
- The infamously vague (yet well behaved and useful) ArrayMesh add_surface LOD argument (going onto rendering server culler's edge-length).
- Alternative LOD Selection methods in existence (visualized, and demo with custom Godot build supporting them)
- The "Threshold pixels" project settings and per item/viewport LOD biases
This talk is a good background primer for my other talk: "The long road to a million trees"
Highlights of getting to render 200-800k trees in-frame at acceptable CPU/GPU cost, (without using cards or manual LODs). Having taken the very basic concept behind the Witcher 4's voxel-based rendering for distant items and combined that with Godot's native LOD capabilities. Covers challenges encountered and next steps remaining. The experimental implementation currently runs with stock Godot, no custom build or native GDExtension required.
- The advantages compared to cards/manual LOD
- Quantizing to voxels
- Handling multimesh LOD limitations
- How work is offloaded to non-render worker-thread
- Extending protonscatter to connect this custom renderer
- Fast loading/startup of scene with millions of items (MMI buffer streaming)
- Retrospective of project thus far