Repository navigation
Advanced Techniques Catalog
Audience: Programmers | Mixed
Thread Context: N/A (research/reference)
Platform/Backend Scope: Cross-engine reference
A catalog of 34 advanced techniques across 7 subsystems, prioritized by effort/impact, produced from a three-agent sweep (rendering; runtime/ECS/physics/AI; networking/streaming/scripting). The sweep catalogued what already exists, what's missing vs. modern AAA engines, and where each new technique would slot into existing code, so any item can be picked up without repeating the research.
Baseline strengths already shipped (confirmed 2026-06-08): render graph + transient aliasing, GPU-driven culling + HiZ, mesh shaders + mesh clusters (Nanite building blocks), DDGI + Adaptive Probe Volumes, TAA, FSR 1/2, neural inference substrate, SparkSR temporal upsampler, Jolt physics, EnTT ECS with parallel dependency-aware executor, snapshot netcode + CSP + lag compensation + AOI, DirectStorage, WorldOriginSystem rebasing, AngelScript hot-reload, async DB persistence, coroutine scheduler, AIBudgetLimiter distance-prioritised tick scaling.
The gaps below are real AAA holes, not foundational ones. Each item carries a status marker as of the 2026-06-08 verification.
Status legend: Implemented — concrete subsystem/file exists. Partial — core exists, refinement incomplete. Open — not yet built.
-
Bindless descriptors / buffer device addresses — Partial. Bindless plumbing exists in
RHI/D3D12/,RHI/Vulkan/,RHITypes.h, andHybridRT/HybridRTManager.h; full GPU-resident scene path is in progress. Hooks:Graphics/RHI/D3D12/,Graphics/RHI/Vulkan/,Graphics/MeshClusterSystem.h. -
Virtual Shadow Maps (VSM) — Open.
CachedShadowAtlas.hexists but no feedback-buffer page table / indirection texture. Hook: extendGraphics/CachedShadowAtlas.h; wire a VSM pass intoGraphics/RenderGraph/. -
Lumen-style multi-bounce radiance cache — Partial.
Graphics/Neural/NeuralRadianceCache.his present and SDF tracing exists viaHybridRT/SDFSceneManager.h; far-field multi-bounce feedback loop not fully wired. -
Variable Rate Shading (VRS) — Open. VRS/shading-rate references exist in
GraphicsEngineTypes.h,RHITypes.h, and the D3D12/Vulkan devices as capability flags, but no rate-map build from motion vectors. Hook:Graphics/PostProcessingPipeline.h, D3D12 shading-rate image. -
Nanite-style virtualized geometry (finish the job) — Partial. Meshlets, DAG LOD, and visibility buffer present (
MeshClusterSystem.h,MeshShaderPipeline.{h,cpp}); streaming + pixel-perfect LOD feedback is the remaining piece.
-
DLSS 3 / FSR 3 frame generation — Open. Reuse motion-vector path in
GBufferPassData. -
Reactive-mask pipeline for FSR 2 — Partial / Open. Stubbed in
UpscalingShaders.h; transparent/particle passes not yet writing it. (Flagged in original as a "fastest win".) - D3D12 enhanced barriers & work graphs — Open. Natural follow-on after bindless.
-
GPU skinning motion-vector output — Open.
Graphics/GPUSkinning.{h,cpp}exists but does not emit previous-frame positions; skinned TAA/motion-blur fix still pending. (Flagged as a "fastest win".) - Compute-driven vertex pulling — Open. Required for fully GPU-resident mesh-cluster path.
-
Chunked archetype SoA storage — Open. Hook: new
ChunkedArchetypeinEngine/ECS/. -
SIMD iteration wrapper — Open. Hook: new
Engine/ECS/Systems/SIMDIterator.hviaParallelSystemExecutor::DeclareVectorized(). -
Per-subsystem frame allocators (TLSF / slab / arena) — Open. Hook: new
Utils/SubsystemFrameAllocator.hoverUtils/FrameAllocator.h. -
Fiber-based job system for long-running async — Open.
Utils/JobSystem.hexists (thread-pool); optional fiber backend not added. -
Lock-free / priority-tiered event queue — Implemented.
Spark::QueuedEventBusinEngine/Events/EventSystem.hnow has three priority tiers (EventPriority::Critical/Normal/Low): Critical dispatches first and is never evicted before Normal/Low; Low is evicted first underMaxQueueSizepressure. Backward-compatible default tier isNormal. (This was the item "started this session" in the original log — confirmed landed.)
-
HTN + GOAP planners alongside Behavior Trees — Open. Behavior Trees exist (
Engine/AI/BehaviorTree*.h); noHTNPlanner.h/GoalAI.h. -
RVO2 / velocity-obstacle crowd steering — Partial.
Engine/AI/CollisionAvoidance.hexists and references ORCA/velocity-obstacle concepts; confirm full RVO2 solver depth. -
Influence / threat maps — Open. No
Engine/AI/InfluenceMap.hfound. -
LOD-based AI tick scaling — Implemented.
Engine/AI/AIBudgetLimiter.{h,cpp}(distance-prioritised queue +m_maxStaleFramesstarvation bound), wired inCore/Lifecycle/GameplayLifecycleShared.cppviaAIIntegratedSystem. -
Neural behavior policies — Partial. Neural substrate exists (
Graphics/Neural/NeuralInference.h); routing small MLPs from AI decision nodes not wired.
-
Soft-body / cloth / rope — Implemented.
Physics/SoftBodyPhysics.{h,cpp}andPhysics/ClothSimulation.{h,cpp}now exist (the original recommended extending the Jolt interface withShapeType::SoftMesh). -
Vehicle system — Implemented.
Physics/VehiclePhysics.{h,cpp}. -
Motion matching — Open. No pose-database / match-cost solver in
Engine/Animation/. -
Deterministic fixed-step physics tick — Partial.
Core/FixedTimestepAccumulatorprovides the fixed-step loop; confirm physics determinism guarantees for rollback.
-
Rollback netcode (GGPO-style) — Open. No rollback path in
Engine/Networking/; depends on #24. -
Network transform quantization — Implemented.
Engine/Networking/NetQuantize.{h,cpp}(16-bit bbox positions, smallest-three quats), roughly halving transform bandwidth. (Flagged as a "fastest win" — done.) -
Sub-tick input replication — Partial.
Engine/Networking/SubTickInput.{h,cpp}exists; confirm it's fed into snapshots. -
Virtual texturing with feedback streaming — Partial.
Graphics/VirtualTexture.{h,cpp}exists; integration with DirectStorage feedback streaming not confirmed. - Background GDeflate/zstd decompression threads — Open / unverified. CPU fallback pool for non-Windows targets.
-
LRU asset cache with memory budgets — Open. No LRU cache wrapping
AreaAssetLoader::LoadedDatafound. (Flagged as a "fastest win".)
- AngelScript tier-2 JIT for hot paths — Open. Profile first.
-
SQLite WAL mode + crash recovery — Open / unverified.
Engine/Persistence/AsyncDatabase.{h,cpp}exists; WAL/crash-recovery not grep-confirmed. -
Per-component save versioning + migration callbacks — Partial.
Engine/SaveSystem/has version/migration references (SaveSystem.{h,cpp},SaveSystemTypes.h); confirm per-component granularity. - Chunked streaming save format — Open. Incremental autosave-to-SSD without hitches.
- Fastest wins (1–2 weeks): #9 skinning motion vectors (open), #15 priority event queue (done), #26 transform quantization (done), #7 reactive mask (partial), #30 LRU asset cache (open).
- High-leverage medium (1–2 months): #1 bindless (partial), #2 VSM (open), #4 VRS (open), #11 chunked archetypes (open), #12 SIMD iter (open), #17 RVO2 (partial), #25 rollback (open, needs #24).
- Flagship multi-month: #3 Lumen-style GI (partial), #5 finish Nanite (partial), #6 frame gen (open), #28 virtual texturing (partial).
The original session checked several active plan-doc items against the codebase and found most already shipped. Key verdicts (retained for design rationale):
| Item | Verdict (original) |
|---|---|
AssetTypes.cpp split |
DONE / obsolete (file now ~55 lines) |
GPUParticleSystem.cpp split |
DONE / obsolete (~15 lines) |
MaterialSystem.cpp split |
Obsolete — under bloat threshold |
PBRMaterialLighting.cpp split |
Obsolete — under threshold |
Unguard DynamicQualityTypes.h / TemporalEffectsTypes.h / DrawSortKey.h
|
DONE — portable |
| Wire GTAO / BVH / ShaderVariant / VCT / Noise / Denoiser | DONE (Phases I/L/O/Q/S/T) |
RHI parity for RHIHandlePool, TransientBufferAllocator
|
DONE (Phases X/Y/Z/AA) |
| EntityReplicator auto-driven from reflection | Deferred-as-unnecessary (ReplicatedField<T> already well-designed) |
| AI LOD-based tick scaling (#19) | DONE via AIBudgetLimiter + AIIntegratedSystem
|
Net: the "pending" Phase-1/2/3/4 todos from those plans are effectively shipped; the plans survive only as design rationale.
Highest-value still-open items: #9 GPU skinning motion vectors, #30 LRU asset cache, #2 VSM, #4 VRS, #11/#12 chunked SoA + SIMD iteration, #16 HTN/GOAP, #18 influence maps, #23 motion matching, #25 rollback netcode, #31 AngelScript JIT, #34 chunked save format. Confirmed done since authoring: #15 priority event queue, #21 soft-body/cloth, #22 vehicle system, #26 transform quantization (plus the pre-existing-items list above).
- Original analysis date: 2026-04-18 (type: Decision + Plan; execution roadmap).
- Verified against codebase 2026-06-08.
-
Annotations / updates made:
- Added a per-technique status marker to all 34 items.
- Confirmed newly Implemented since authoring: #15 priority-tiered event queue (verified
EventPriorityenum + tier eviction inEventSystem.h), #21 soft-body/cloth (SoftBodyPhysics,ClothSimulation), #22 vehicle system (VehiclePhysics), #26 transform quantization (NetQuantize). - Confirmed still Open: VSM, VRS, frame gen, GPU skinning motion vectors, chunked archetypes, SIMD iteration, fiber jobs, HTN/GOAP, influence maps, motion matching, rollback netcode, LRU asset cache, AngelScript JIT, chunked save format.
- Marked Partial where a substrate exists but the technique is unfinished (bindless, radiance cache, Nanite finish, RVO2, virtual texturing, sub-tick input, save versioning).
- Retained the "Pre-Existing Items Evaluated" verdicts and trimmed the session-specific Verification/Next-pickup blocks and external plan-file path references (stripped as AI-session frontmatter).
Published from 2b03dc797148. Edit the canonical source in wiki/.
- Documentation
- Docs route
- Wiki index
- Guides
- Tutorials
- Samples
- Examples
- API Reference
- API route
- Reference
- Build Guide
- Dependencies
- FAQ
- Changelog
- Roadmap
- Contributing
- Code of Conduct
- Home
- FAQ
- Getting Started
- Quick-Start Tutorial
- Making Your First Game
- Making Your First Multiplayer Game
- Artist Workflow Guide
- Editor Walkthrough
- Migration Guide
- How SparkEngine Works
- Architecture Overview
- Engine Architecture Flowchart
- Creating a Game Module
- Game Modules (catalog)
- Entity Component System
- Rendering and Graphics
- Physics
- Cloth Simulation
- Audio
- Input System
- Camera System
- Scripting with AngelScript
- Visual Scripting
- AI and Navigation
- Animation
- 2D Systems
- Networking
- Dedicated Server
- Multiplayer Quick Start
- Area Server Architecture
- Scene Management
- Large World Support
- Collaborative Editing
- Coroutine System
- Event System
- Event Response System
- Job System
- UI System
- UI Layout Extensions
- Localization
- Dialogue System
- Destruction System
- Replay System
- Achievement System
- Loading System
- Mod System
- Content Delivery
- Tween System
- Memory Integrity
- Gameplay Systems
- Terrain and Procedural Generation
- Save System
- Persistence System
- Day Night Cycle and Weather
- Cinematic Sequencer
- Runtime Prefabs
- SparkEditor
- Editor Tutorials
- SparkConsole
- SparkDaemon
- Shader Pipeline
- Asset Pipeline
- Asset Validation
- Asset Migration
- Game Packaging
- Online Services
- DataTable System
- Loot and Crafting System
- CSG System
- Font System
- Timer Manager
- Movie Render Pipeline
- HLOD and World Partition
- Remote Debug System
- Selection Manager
- Asset Dependency Graph
- Editor Automation
- File Watcher
- Project Templates
- System Requirements
- VR Support
- Mobile Platform
- Accessibility
- Platform Input
- Platform Certification
- Cross-Compilation: Wine Testing
- RHI Abstraction Layer
- D3D11 Backend
- D3D12 Backend
- Vulkan Backend
- OpenGL Backend
- Metal Backend
- DXR Raytracing
- Hybrid Ray Tracing
- Upscaling (DLSS/FSR)
- Render Graph
- Shader Graph
- GPU Particles
- GPU-Driven Rendering
- Volumetric Fog
- Volumetric Clouds
- Global Illumination
- Virtual Texturing
- Water Rendering
- Clustered Lighting
- Material System
- Post-Processing
- Shadow System
- Particle System
- Decal System
- Sky and Atmosphere
- Foliage System
- Mesh Shaders
- Neural Rendering
- Configuration Reference
- Performance Tips
- Benchmark Framework
- Threading Model
- Fuzz Policy and Parser Security
- Memory Safety
- Memory Management Patterns
- Build System and CMake Modules
- Profiler and Debugging
- Performance Profiling Guide
- Telemetry System
- Crash Reporting
- Golden Image Testing
- Utilities
- Testing
- Fuzz Policy and Parser Security
- Codebase Statistics
- Codebase Health
- Error Handling Patterns
- Hot Reload Overview
- Troubleshooting
- Contributing
- Workflow Patterns
- Build Optimizations
- CI Reproducible Builds
- GitHub API and PR Checks
- Git Rebase Conflicts
- Clang-Format
- Code Quality Violations
- AI Bloat Pattern
- MinGW + Wine Cross-Compilation
- Live Editor Testing
- Engine & Renderer Landscape
- DuetOS Portability Catalog
- Five-Engine Analysis
- Eleven-Engine Analysis
- ThorVG / Unity Graphics Analysis
- Advanced Techniques Catalog
- Third-Party Library Evaluation
- Engine Viability Evaluation
- Engine Feature Recommendations
- Project Recommendations
- Mac Compatibility Analysis
- Codebase Observations
- Codebase Bloat Audit
- Test Suite Audit
- Documentation Coverage Audit
- ThirdParty Dependencies Audit
- Load Test Baseline
- Gameplay Systems Status
- SparkGame Module Status
- Stub and Abandoned Features
- Memory Integrity System
- Memory Safety Evaluation
- Hardware Acceleration Systems
- Jolt Physics Integration
- GPU/CPU Separation Plan
- Daemon Services Architecture
- Reflection & Polymorphism Refactoring Plan
- SparkBuild In-Tree
- Wine No-JobSystem Breakthrough
- Wine Role and Fallback Tiers