Skip to content

Latest commit

 

History

History
209 lines (167 loc) · 12.3 KB

File metadata and controls

209 lines (167 loc) · 12.3 KB

Reading List & Reference Materials

Current Reading Order For This Plan

Read in this order for the current architecture:

  1. PROJECT_PLAN.md
  2. TECHNICAL_SPEC.md
  3. ARCHITECTURE_DECISIONS.md
  4. meshoptimizer demo/nanite.cpp and clusterlod.h
  5. Nanite technical docs and SIGGRAPH material
  6. lighthugger and Wicked Engine visibility-buffer references
  7. BENCHMARK_PLAN.md

Read these later as frontier branches, not portable-core blockers:

  • FRONTIER_OPPORTUNITIES.md
  • AMD Dense Geometry Format
  • GPU work graphs / mesh nodes
  • procedural resurfacing
  • procedural tree generation
  • neural-rendering-specific compression paths

Priority Order: Read These First

1. meshoptimizer Nanite-like LOD Demo (CRITICAL — START HERE)

  • What: Working reference implementation of hierarchical meshlet LOD
  • URL: https://github.com/zeux/meshoptimizer — see demo/nanite.cpp
  • Also: https://deepwiki.com/zeux/meshoptimizer/3.2-nanite-like-lod-system
  • Also: clusterlod.h single-header library for continuous LOD
  • Why first: This is the offline processing pipeline we build on. Everything else depends on understanding this.
  • Key functions: meshopt_buildMeshlets, meshopt_partitionClusters, meshopt_simplifyWithUpdate, meshopt_SimplifyLockBorder, meshopt_SimplifySparse
  • License: MIT

2. Nanite SIGGRAPH 2021 Deep Dive (CRITICAL)

3. lighthugger — Vulkan Meshlet + Visibility Buffer Renderer (CRITICAL)

  • What: Working C++20 Vulkan renderer with meshlets, visibility buffer, compute culling
  • URL: https://github.com/expenses/lighthugger
  • Why: This is essentially our Phase 1 prototype already built. Study the architecture.
  • Key features: Compute-emulated mesh shaders, visibility buffer, single-pass lighting resolve, cascaded shadow maps, DDS/KTX2 texture loading
  • License: MIT available on request

4. Wicked Engine Visibility Buffer & Mesh Shaders

  • What: Production open-source engine with visibility buffer + optional mesh shaders
  • URL: https://github.com/turanszkij/WickedEngine
  • Blog (2024 graphics overview): https://wickedengine.net/2024/12/wicked-engines-graphics-in-2024/
  • Blog (texture derivatives): Search "Wicked Engine visibility buffer derivatives" — step-by-step guide
  • Why: Shows how to integrate visibility buffer into a full engine with materials, shadows, effects
  • Key detail: 25-bit meshlet ID + 7-bit triangle ID encoding, bindless ShaderScene, amplification shader occlusion culling against depth pyramid
  • License: MIT

5. vkguide.dev GPU-Driven Rendering Tutorial

  • What: Complete tutorial building a GPU-driven Vulkan renderer from scratch
  • URL: https://vkguide.dev/docs/gpudriven/gpu_driven_engines/
  • Why: Step-by-step walkthrough of compute culling, indirect draws, bindless textures, SSBO scene data
  • Key result: 125,000 objects culled and rendered at 290 FPS, 40M+ triangles

Mesh Shader References

6. AMD GPUOpen Mesh Shader Series (ESSENTIAL for cross-vendor)

7. NVIDIA Mesh Shader Resources

8. Mesh Shaders Cross-Platform Overview

Visibility Buffer Theory

9. Original Visibility Buffer Paper

10. The Forge / ConfettiFX

11. SIGGRAPH 2024 — Visibility Buffer Advances

  • URL: https://advances.realtimerendering.com/s2024/index.html
  • Key talk: "Visibility Buffer rendering" by John Hable — shading rate decoupled from resolution, pixel reduction while maintaining fidelity
  • Key talk: "Seamless Rendering on Mobile: Adaptive LOD Pipeline" — Nanite-like approach for mobile GPUs (Tencent)

Godot-Specific References

12. Godot RenderingDevice API

13. Godot Mesh Shader Proposals & PR

14. Godot Virtualized Geometry Proposal

  • Proposal #2793: godotengine/godot-proposals#2793
  • Why: Community discussion about what integration would look like. 60+ thumbs up, open since 2021, no implementation.

15. Godot Renderer Source Code

  • Path: servers/rendering/renderer_rd/ — the RenderingDevice-based Forward+ renderer
  • Key files to study: forward_clustered/, effects/, storage_rd/, shader_rd/

2025-2026 Cutting Edge Research

16. Procedural Mesh Resurfacing (Eurographics 2025)

  • Paper: https://onlinelibrary.wiley.com/doi/10.1111/cgf.70075
  • What: GPU mesh shaders generate detailed geometry at runtime from simple control meshes
  • Benefit: Lower VRAM, lower power consumption vs pre-built geometry. Competitive performance with traditional pipelines.
  • Relevance: Could be integrated as optional path for terrain/rocks/foliage within our mesh shader stage

17. NVIDIA Neural Rendering (GDC 2025)

18. SIGGRAPH 2025 Advances in Real-Time Rendering

18a. DirectStorage 1.4 + Asset Conditioning (IMPORTANT for streaming architecture)

18b. AMD Dense Geometry Format (IMPORTANT for future compressed geometry)

18c. GPU Work Graphs / Mesh Nodes (IMPORTANT frontier execution model)

18d. Real-Time GPU Tree Generation (IMPORTANT for beating Nanite on vegetation)

18e. Real-Time Procedural Resurfacing (IMPORTANT for selected asset classes)

Vulkan Learning Resources

19. Sascha Willems Vulkan Examples

20. Vulkan Specification

Additional Open Source Engines to Study

21. Bevy Meshlet Implementation

  • Discussion: bevyengine/bevy#10433
  • Why: Developer noted "meshlets + visibility buffer + two-pass occlusion culling + GPU-driven rendering gives you 60-70% of Nanite's benefits"
  • Note: Bevy uses Rust + wgpu, not directly portable but algorithms are identical

22. Evergine Mesh Shader Integration

Summary: What Already Exists vs What We Build

Already exists (MIT/Apache licensed, ready to use):

  • Meshlet generation → meshoptimizer
  • Hierarchical LOD with crack-free transitions → meshoptimizer clusterlod.h
  • Meshlet compression → meshoptimizer + AMD research
  • Vulkan visibility buffer renderer → lighthugger
  • Full engine with vis buffer + mesh shaders → Wicked Engine
  • GPU-driven rendering tutorial → vkguide.dev
  • Mesh shader Vulkan samples → NVIDIA nvpro-samples
  • meshoptimizer already in Godot → no dependency to add

We build (the novel integration work):

  • Runtime GPU pipeline optimized for Godot's architecture
  • Godot RenderingDevice integration
  • Godot material/shader system bridge
  • Import pipeline (glTF → meshlet hierarchy → Godot resource)
  • Shadow integration with Godot's shadow maps
  • Fallback path management (mesh shader vs compute)
  • Debug visualization modes
  • Documentation and examples