Rendering internals
Redot's renderer keeps a representation of the scene, chooses visible work, produces GPU commands, and presents images. Those jobs span scene resources, servers, renderer implementations, device drivers, and platform code. A change to one layer can affect resource lifetimes or execution order in another.
This manual describes those connections for maintainers who know C++ but have not worked on the renderer. The source baseline records the engine revision and review date once for the whole manual. GDExtension and redot-cpp are outside its scope.
Start here
- Read the architecture and vocabulary.
- Follow startup, a frame, and the threading model.
- Follow a 2D draw or a 3D instance.
- Compare the rendering methods before entering a backend implementation.
Follow the resources
- Ownership and handles distinguish scene objects, server RIDs, device RIDs, and native handles.
- Storage and invalidation explain cached state and dependency notifications.
- Textures and transfers trace uploads, views, and the texture bridge.
- Viewports and buffers explain output ordering, render targets, and intermediate images.
- Materials and shaders follow compilation and pipeline caches.
Follow execution
- Forward+, Mobile, and Compatibility have different pass structures.
- Lighting and environments, particles and deformation, and effects and compositors cross several components.
- RenderingDevice validates resources and records work. Its command graph tracks hazards and orders commands.
- Vulkan, Direct3D 12, and Metal translate that work to native APIs.
- Platform integration supplies windows, surfaces, contexts, and presentation support.
Assess a change
The dependency map, external consumers, and wrapper chains identify contracts to preserve. Change routes show where a feature must travel.
Boundary observations, unfinished paths, and performance proposals distinguish existing behavior from suggested work. Proposals are investigation candidates, not approved designs or measured speedups.
Locate and update source
The source reference indexes every primary rendering header, its declarations, and its companion implementation. It also contains source locators, external reference searches, and a catalog of source markers.
The build map explains conditional and generated code. The maintenance procedure describes quarterly refreshes and the review needed after regeneration.