Overview
Godot Engine features a powerful and flexible rendering system that supports multiple rendering backends and techniques. The rendering architecture is built around the RenderingServer, which provides low-level access to all visual operations.Rendering architecture
Godot uses a server-based architecture for rendering:RenderingServer
The RenderingServer is the backend for all visual rendering. The entire scene system is built on top of it:- Completely opaque implementation
- All rendering objects accessed via RIDs (Resource IDs)
- Can bypass the scene system for maximum performance
- Thread-safe operations via
call_on_render_thread()
Using RenderingServer directly can improve performance when the scene system becomes a bottleneck, but won’t help if the GPU is already fully utilized.
Renderer types
Godot 4 offers three rendering backends, each optimized for different use cases:Forward+ renderer
The default high-end renderer with advanced features: Features:- Clustered forward rendering
- Unlimited lights and decals per scene
- Advanced post-processing effects
- Screen-space reflections (SSR)
- Signed distance field global illumination (SDFGI)
- VoxelGI for real-time global illumination
- Desktop and console games
- High-end mobile devices
- Projects requiring advanced lighting
Mobile renderer
Optimized for mobile devices while maintaining good visual quality: Features:- Forward rendering with optimizations
- Limited lights per object
- Mobile-optimized post-processing
- Better battery life
- Lower memory usage
- Mobile games (iOS, Android)
- Lower-end devices
- Battery-conscious applications
- Maximum 8 lights affecting each object
- No SDFGI
- Simplified reflections
Compatibility renderer
OpenGL/WebGL-based renderer for maximum compatibility: Features:- OpenGL 3.3 / WebGL 2.0 support
- Runs on older hardware
- Web export support
- Simplified rendering pipeline
- Web exports
- Older computers
- Maximum compatibility requirements
- 2D projects
- No advanced lighting features
- Limited to basic post-processing
- Lower performance ceiling
Rendering pipeline
Understanding the rendering pipeline helps optimize your game:3D rendering flow
Scene culling
Determine which objects are visible in the camera frustum using octree or other spatial structures.
2D rendering flow
2D rendering uses a canvas-based system:Viewports and scenarios
Viewports
Viewports are rendering targets that can display 3D or 2D content:Scenarios (3D)
Scenarios are 3D world containers:Canvas (2D)
Canvas is the 2D equivalent of scenarios:Materials and shaders
Materials define how surfaces are rendered:Lights and shadows
Light types
Shadow configuration
Rendering optimization
Occlusion culling
Level of detail (LOD)
Visibility ranges
Rendering layers
Control which objects are rendered by which cameras:Performance monitoring
Common rendering settings
Anti-aliasing
Anti-aliasing
Configure in Project Settings > Rendering > Anti Aliasing:
- MSAA (2x, 4x, 8x)
- FXAA
- TAA (Temporal Anti-Aliasing)
Screen-space effects
Screen-space effects
Available in Project Settings > Rendering > Environment:
- Screen-space ambient occlusion (SSAO)
- Screen-space indirect lighting (SSIL)
- Screen-space reflections (SSR)
Global illumination
Global illumination
Options for indirect lighting:
- SDFGI (Forward+ only)
- VoxelGI probes
- LightmapGI (baked lighting)
Quality settings
Quality settings
Adjust in Project Settings > Rendering > Quality:
- Shadow quality
- Texture filtering
- Mesh level of detail
Headless mode
Run Godot without rendering:In headless mode, most RenderingServer functions return dummy values. Useful for dedicated servers.
Best practices
Choose the right renderer
Match renderer to your target platform and visual requirements.
Use rendering layers
Separate objects into layers for selective rendering and optimization.
Optimize materials
Reuse materials and minimize shader complexity.
Profile regularly
Use the built-in profiler to identify rendering bottlenecks.
Next steps
Shaders
Write custom shaders
Environment
Configure world environment
Particles
Create particle effects