Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Übersicht über die Renderer
Siehe auch
This page gives an overview of Godot's renderers, focusing on the differences between their rendering features. For more technical details on the renderers, see Interne Rendering-Architektur.
Einführung
Godot 4 beeinhaltet drei Renderer:
Forward+. Der fortschrittlichste Renderer, ausschließlich für Desktop-Plattformen geeignet. Wird standardmäßig auf Desktop-Plattformen verwendet. Dieser Renderer nutzt Vulkan, Direct3D 12 oder Metal als Rendering-Treiber und verwendet das RenderingDevice-Backend.
Mobile. Weniger Funktionen, rendert einfache Szenen jedoch schneller. Geeignet für mobile und Desktop-Plattformen. Wird standardmäßig auf mobilen Plattformen verwendet. Dieser Renderer nutzt Vulkan, Direct3D 12 oder Metal als Rendering-Treiber und verwendet das RenderingDevice-Backend.
Kompatibilität, manchmal auch als GL-Kompatibilität bezeichnet. Der am wenigsten fortschrittliche Renderer, geeignet für Low-End-Desktop- und mobile Plattformen. Wird standardmäßig auf der Webplattform verwendet. Dieser Renderer nutzt OpenGL als Rendering-Treiber.
Renderer, Rendering-Treiber und RenderingDevice
Godots Abstraktionsebenen für die Darstellung.
The renderer, or rendering method, determines which features are available. Most of the time, this is the only thing you need to think about. Godot's renderers are Forward+, Mobile, and Compatibility.
The rendering driver tells the GPU what to do, using a graphics API. Godot can use the OpenGL, Vulkan, Direct3D 12, and Metal rendering drivers. Not every GPU supports every rendering driver, and therefore not every GPU supports all renderers. Vulkan, Direct3D 12, and Metal are modern, low-level graphics APIs, and require newer hardware. OpenGL is an older graphics API that runs on most hardware.
RenderingDevice is a rendering backend, an abstraction layer between the renderer and the rendering driver. It is used by the Forward+ and Mobile renderers, and these renderers are sometimes called "RenderingDevice-based renderers".
Einen Renderer auswählen
Choosing a renderer is a complex question, and depends on your hardware and which platforms you are developing for. As a starting point:
Forward+ auswählen, wenn:
You are developing for desktop.
You have relatively new hardware which supports Vulkan, Direct3D 12, or Metal.
You are developing a 3D game.
You want to use the most advanced rendering features.
Mobile auswählen, wenn:
You are developing for newer mobile devices, desktop XR, standalone XR, or desktop.
You have relatively new hardware which supports Vulkan, Direct3D 12, or Metal.
You are developing a 3D game.
You want to use advanced rendering features, subject to the limitations of mobile hardware.
Kompatibilität auswählen, wenn:
You are developing for older mobile devices, or older desktop devices. The Compatibility renderer supports the widest range of hardware.
You are developing for web. In this case, Compatibility is the only choice.
You have older hardware which does not support Vulkan. In this case, Compatibility is the only choice.
You are developing a 2D game, or a 3D game which does not need advanced rendering features.
You want the best performance possible on all devices and don't need advanced rendering features.
Keep in mind every game is unique, and this is only a starting point. For example, you might choose to use the Compatibility renderer even though you have the latest GPU, so you can support the widest range of hardware. Or you might want to use the Forward+ renderer for a 2D game, so you can use advanced features like compute shaders.
Zwischen Renderern wechseln
In the editor, you can always switch between renderers by clicking on the renderer name in the upper-right corner of the editor.
Switching between renderers may require some manual tweaks to your scene, lighting, and environment, since each renderer is different. In general, switching between the Mobile and Forward+ renderers will require fewer adjustments than switching between the Compatibility renderer and the Forward+ or Mobile renderers.
Since Godot 4.4, when using Forward+ or Mobile, if Vulkan is not supported, the engine will fall back to Direct3D 12 and vice versa. If the attempted fallback driver is not supported either, the engine will then fall back to Compatibility when the RenderingDevice backend is not supported. This allows the project to run anyway, but it may look different than the intended appearance due to the more limited renderer. This behavior can be disabled in the project settings by unchecking Rendering > Rendering Device > Fallback to OpenGL 3.
Funktionsvergleich
Dies ist keine vollständige Liste der Funktionen der einzelnen Renderer. Wenn eine Funktion hier nicht aufgeführt ist, ist sie in allen Renderern verfügbar, kann jedoch bei einigen Renderern deutlich schneller sein. Eine Liste aller Funktionen in Godot finden Sie unter Featureliste.
Hardware mit RenderingDevice-Unterstützung ist Hardware, auf der Vulkan, Direct3D 12 oder Metal ausgeführt werden können.
Gesamtvergleich
Feature |
Kompatibilität |
Mobile |
Forward+ |
|---|---|---|---|
Erforderliche Hardware |
Älter oder Low-End. |
Neuer oder High-End. Erfordert Unterstützung für Vulkan, Direct3D 12 oder Metal. |
Neuer oder High-End. Erfordert Unterstützung für Vulkan, Direct3D 12 oder Metal. |
Läuft auf neuer Hardware |
✔️ Ja. |
✔️ Ja. |
✔️ Ja. |
Läuft auf alter und Low-End-Hardware |
✔️ Ja. |
✔️ Ja, aber langsamer als Kompatibilität. |
✔️ Ja, aber der langsamste aller Renderer. |
Läuft auf Hardware ohne Unterstützung für RenderingDevice |
✔️ Ja. |
❌ Nein. |
❌ Nein. |
Zielplattformen |
Mobil, Low-End-Desktop, Web. |
Mobil, Desktop. |
Desktop. |
Desktop |
✔️ Ja. |
✔️ Ja. |
✔️ Ja. |
Mobile |
✔️ Ja (Low-End). |
✔️ Yes (High-End). |
⚠️ Unterstützt, jedoch schlecht optimiert. Stattdessen Mobil oder Kompatibilität verwenden. |
XR |
⚠️ Supported, but not recommended. Use Mobile instead. |
✔️ Yes. Recommended for desktop and standalone headsets. |
⚠️ Unterstützt, jedoch schlecht optimiert. Stattdessen Mobil oder Kompatibilität verwenden. |
Web |
✔️ Ja. |
❌ Nein. |
❌ Nein. |
2D-Spiele |
✔️ Ja. |
✔️ Ja, aber Kompatibilität ist für 2D normalerweise ausreichend. |
✔️ Ja, aber Kompatibilität ist für 2D normalerweise ausreichend. |
3D-Spiele |
✔️ Ja. |
✔️ Ja. |
✔️ Ja. |
Funktionsumfang |
2D- und grundlegende 3D-Funktionen. |
Meiste Rendering-Funktionen. |
Alle Rendering-Funktionen. |
2D-Rendering-Funktionen |
✔️ Ja. |
✔️ Ja. |
✔️ Ja. |
Kern-3D-Rendering-Funktionen |
✔️ Ja. |
✔️ Ja. |
✔️ Ja. |
Erweiterte Rendering-Funktionen |
❌ Nein. |
⚠️ Ja, durch mobile Hardware begrenzt. |
✔️ Ja. Alle Rendering-Funktionen werden unterstützt. |
Neue Funktionen |
⚠️ Einige neue Rendering-Funktionen wurden zu Kompatibilität hinzugefügt. Diese Funktionen werden nach Mobile und Forward+ hinzugefügt. |
✔️ Die meisten neuen Rendering-Funktionen werden in Mobile hinzugefügt. Mobile erhält neue Funktionen normalerweise zeitgleich mit Forward+. |
✔️ Alle neuen Funktionen werden in Forward+ integriert. Da Forward+ im Mittelpunkt der Weiterentwicklung steht, erhält es neue Funktionen als Erstes. |
Rendering-Kosten |
Low base cost, but high scaling cost. |
Medium base cost, and medium scaling cost. |
Highest base cost, and low scaling cost. |
Rendering driver |
OpenGL. |
Vulkan, Direct3D 12, or Metal. |
Vulkan, Direct3D 12, or Metal. |
Lights and shadows
See 3D Beleuchtung und Schatten for more information.
Feature |
Kompatibilität |
Mobile |
Forward+ |
|---|---|---|---|
Lighting approach |
Forward single-pass. Lights with shadows use a multi-pass approach and less accurate blending. |
Forward single-pass. |
Clustered forward. |
Maximum OmniLights |
8 per mesh. Can be increased. |
8 per mesh, 256 per view. |
512 per cluster. Can be increased. |
Maximum SpotLights |
8 per mesh. Can be increased. |
8 per mesh, 256 per view. |
512 per cluster. Can be increased. |
Maximum DirectionalLights |
8 |
8 |
8 |
PCSS for OmniLight and SpotLight |
❌ Not supported. |
✔️ Unterstützt. |
✔️ Unterstützt. |
PCSS for DirectionalLight |
❌ Not supported. |
❌ Not supported. |
✔️ Unterstützt. |
Light projector textures |
❌ Not supported. |
✔️ Unterstützt. |
✔️ Unterstützt. |
Globale Beleuchtung (Global Illumination)
See Einführung in Global Illumination for more information.
Feature |
Kompatibilität |
Mobile |
Forward+ |
|---|---|---|---|
ReflectionProbe |
✔️ Unterstützt, 2 pro Mesh. |
✔️ Unterstützt, 8 pro Mesh. |
✔️ Unterstützt, unbegrenzt. |
LightmapGI |
⚠️ Rendering of baked lightmaps is supported. Baking requires hardware with RenderingDevice support. |
✔️ Unterstützt. |
✔️ Unterstützt. |
VoxelGI |
❌ Not supported. |
❌ Not supported. |
✔️ Unterstützt. |
Screen-Space Indirect Lighting (SSIL) |
❌ Not supported. |
❌ Not supported. |
✔️ Unterstützt. |
Signed Distance Field Global Illumination (SDFGI) |
❌ Not supported. |
❌ Not supported. |
✔️ Unterstützt. |
Environment und Post-Processing
See Environment und Post-Processing for more information.
Feature |
Kompatibilität |
Mobile |
Forward+ |
|---|---|---|---|
Fog (Depth and Height) |
✔️ Unterstützt. |
✔️ Unterstützt. |
✔️ Unterstützt. |
Volumetrischer Nebel |
❌ Not supported. |
❌ Not supported. |
✔️ Unterstützt. |
Tonemapping |
✔️ Unterstützt. |
✔️ Unterstützt. |
✔️ Unterstützt. |
Screen-Space Reflections |
❌ Not supported. |
❌ Not supported. |
✔️ Unterstützt. |
Screen-Space-Ambient Occlusion (SSAO) |
✔️ Unterstützt. |
❌ Not supported. |
✔️ Unterstützt. |
Screen-Space Indirect Lighting (SSIL) |
❌ Not supported. |
❌ Not supported. |
✔️ Unterstützt. |
Signed Distance Field Global Illumination (SDFGI) |
❌ Not supported. |
❌ Not supported. |
✔️ Unterstützt. |
Glow |
✔️ Unterstützt. |
✔️ Unterstützt. |
✔️ Unterstützt. |
Anpassungen |
✔️ Unterstützt. |
✔️ Unterstützt. |
✔️ Unterstützt. |
Custom post-processing with fullscreen quad |
✔️ Unterstützt. |
✔️ Unterstützt. |
✔️ Unterstützt. |
Custom post-processing with CompositorEffects |
❌ Not supported. |
✔️ Unterstützt. |
✔️ Unterstützt. |
Antialiasing
See 3D-Antialiasing for more information.
Feature |
Kompatibilität |
Mobile |
Forward+ |
|---|---|---|---|
MSAA 3D |
✔️ Unterstützt. |
✔️ Unterstützt. |
✔️ Unterstützt. |
MSAA 2D |
❌ Not supported. |
✔️ Unterstützt. |
✔️ Unterstützt. |
TAA |
❌ Not supported. |
❌ Not supported. |
✔️ Unterstützt. |
FSR2 |
❌ Not supported. |
❌ Not supported. |
✔️ Unterstützt. |
FXAA |
❌ Not supported. |
✔️ Unterstützt. |
✔️ Unterstützt. |
SMAA |
❌ Not supported. |
✔️ Unterstützt. |
✔️ Unterstützt. |
SSAA |
✔️ Unterstützt. |
✔️ Unterstützt. |
✔️ Unterstützt. |
Screen-Space-Rauheitsbegrenzer |
❌ Not supported. |
✔️ Unterstützt. |
✔️ Unterstützt. |
StandardMaterial features
See Standardmaterial 3D und ORM-Material 3D for more information.
Feature |
Kompatibilität |
Mobile |
Forward+ |
|---|---|---|---|
Subsurface scattering |
❌ Not supported. |
❌ Not supported. |
✔️ Unterstützt. |
Shader features
See Shader-Referenz for more information.
Feature |
Kompatibilität |
Mobile |
Forward+ |
|---|---|---|---|
Bildschirmtextur |
✔️ Unterstützt. |
✔️ Unterstützt. |
✔️ Unterstützt. |
Tiefentextur |
✔️ Unterstützt. |
✔️ Unterstützt. |
✔️ Unterstützt. |
Normal/Roughness buffer |
❌ Not supported. |
❌ Not supported. |
✔️ Unterstützt. |
Compute-Shader |
❌ Not supported. |
⚠️ Supported, but comes with a performance penalty on older devices. |
✔️ Unterstützt. |
Other features
Feature |
Kompatibilität |
Mobile |
Forward+ |
|---|---|---|---|
Color precision |
RGBA8. Low dynamic range, medium precision. |
RGB10A2. Medium dynamic range, low precision. RGBA16F if HDR 2D is enabled. |
RGBA16F. High dynamic range, good precision. |
Depth precision |
24-bit without reverse Z. Medium precision. |
24-bit with reverse Z. Medium precision. |
32-bit with reverse Z. Good precision. |
Debanding |
❌ Not supported. |
✔️ Unterstützt. |
✔️ Unterstützt. |
Variable Rate Shading |
❌ Not supported. |
✔️ Unterstützt. |
✔️ Unterstützt. |
Decals |
❌ Not supported. |
✔️ Unterstützt. |
✔️ Unterstützt. |
Partikel-Trails |
❌ Not supported. |
✔️ Unterstützt. |
✔️ Unterstützt. |
Particle SDF collision |
❌ Not supported. |
✔️ Unterstützt. |
✔️ Unterstützt. |
Depth of field blur |
❌ Not supported. |
✔️ Unterstützt. |
✔️ Unterstützt. |
Adaptive and Mailbox VSync modes |
❌ Not supported. |
✔️ Unterstützt. |
✔️ Unterstützt. |
2D HDR Viewport |
❌ Not supported. |
✔️ Unterstützt. |
✔️ Unterstützt. |
HDR-Ausgabe |
❌ Not supported. |
✔️ Unterstützt. |
✔️ Unterstützt. |
RenderingDevice access |
❌ Not supported. |
✔️ Unterstützt. |
✔️ Unterstützt. |