The truth about tree rendering in Godot
Wishlist Bushcraft Survival on Steam! https://store.steampowered.com/app/3529110/Bushcraft_Survival/ Check out my other stuff: https://michaeljared.ca/
Video Chapters
- 0:00 The challenge of rendering 200,000 trees in Godot
- 0:40 Why manual LODs are essential for large-scale foliage
- 1:47 Boosting performance with Alpha Scissor transparency
- 2:37 Mastering visibility ranges and dithering fades
- 4:31 Breaking down the custom tree and billboard setup
- 6:11 Writing a custom distance-based dithering shader
- 7:35 Solving the AABB distance calculation problem
- 9:28 The complete system for high-performance forests
- 10:35 Bonus: How to extract Godot's built-in shader code
Original Output
0:00 The challenge of rendering 200,000 trees in Godot 0:40 Why manual LODs are essential for large-scale foliage 1:47 Boosting performance with Alpha Scissor transparency 2:37 Mastering visibility ranges and dithering fades 4:31 Breaking down the custom tree and billboard setup 6:11 Writing a custom distance-based dithering shader 7:35 Solving the AABB distance calculation problem 9:28 The complete system for high-performance forests 10:35 Bonus: How to extract Godot's built-in shader code Timestamps by StampBot 🤖 (525-the-truth-about-tree-rendering-in-godot)
Unprocessed Timestamp Content
0:00 Rendering 200,000 trees in Godot: performance challenges and solutions. 0:14 In-game demonstration: rendering a dense forest with optimized trees. 0:40 Why manual LODs are crucial for large-scale foliage in Godot. 1:14 Detailed look at high-fidelity tree models and interactive chopping. 1:47 Alpha scissor transparency: boosting performance through opaque rendering pipeline. 2:37 Leveraging visibility ranges for efficient LOD transitions (without self-fade). 3:24 Dithering fade: achieving smooth LOD transitions between meshes and billboards. 4:31 Understanding the custom LOD setup with trunks, multi-mesh branches, and billboards. 6:11 Deconstructing the object dithering shader for distance-based pixel fading. 7:35 The AABB challenge: how visibility range calculates object distance. 7:58 Visualizing the AABB workaround for accurate LOD trigger points. 8:43 GitHub issue on AABB origin options for improved visibility range. 9:28 The complete system for rendering millions of high-performance trees. 10:35 Quick tip: extracting Godot's built-in dithering shader code. Timestamps by StampBot 🤖 (525-the-truth-about-tree-rendering-in-godot)