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...
Overview of renderers
Ver también
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 Arquitectura interna de renderizado.
Introducción
Godot 4 incluye tres renderizadores:
Forward+. El renderizador más avanzado, adecuado solo para plataformas de escritorio. Es usado por defecto en las plataformas de escritorio. Este renderizador usa Vulkan, Direct3D 12, o Metal como driver de renderizado, y usa el backend RenderingDevice.
Mobile. Cuenta con menos funciones pero es más rápido renderizando escenas sencillas. Adecuado para plataformas móviles y de escritorio. Usado por defecto en plataformas móviles. Este renderizador usa Vulkan, Direct3D 12, o Metal como driver de renderizado, y usa el backend RenderingDevice.
Compatibility, a veces llamado Compatibility GL. El renderizador menos avanzado, adecuado para plataformas móviles y de escritorio de gama baja. Es utilizado por defecto en plataformas webs. Este renderizador utiliza OpenGL como controlador de renderizado.
Renderers, rendering drivers, and RenderingDevice
Capas de abstracción de renderizado de Godot.
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 requires 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".
Choosing a renderer
Choosing a renderer is a complex question, and depends on your hardware and the which platforms you are developing for. As a starting point:
Choose Forward+ if:
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.
Choose Mobile if:
You are developing for newer mobile devices, desktop 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.
Escoge Compatibility si:
Se encuentra desarrollando para dispositivos móviles antiguos, dispositivos de escritorio antiguos o XR independiente. El renderizador Compatibility admite la más amplia gama de hardware.
Está desarrollando para la web. En este caso, Compatibility es la única opción.
Tiene hardware antiguo que no es compatible con Vulkan. En este caso, Compatibility es la única opción.
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.
Switching between renderers
En el editor, siempre puede cambiar entre los renderizadores haciendo clic en el nombre del renderizador en la esquina superior derecha del editor.
Cambiar entre los renderizadores puede requerir ajustes manuales en la escena, la iluminación y el entorno, ya que cada renderizador es diferente. En general, cambiar entre los renderizadores Mobile y Forward+ requiere menos ajustes que cambiar entre el renderizador Compatibility y los renderizadores Forward+ o Mobile.
Desde Godot 4.4, al usar Forward+ o Mobile, si Vulkan no es compatible, el motor recurre a Direct3D 12 y viceversa. Si el controlador alternativo que se intenta usar tampoco es compatible, el motor recurre a Compatibility cuando el backend RenderingDevice no lo es. Esto permite que el proyecto se ejecute de todos modos, pero podría tener un aspecto diferente al deseado debido a las limitaciones del renderizador. Este comportamiento se puede desactivar en la configuración del proyecto desmarcando la opción Rendering > Rendering Device > Fallback to OpenGL 3.
Feature comparison
This is not a complete list of the features of each renderer. If a feature is not listed here, it is available in all renderers, though it may be much faster on some renderers. For a list of all features in Godot, see Lista de características.
Hardware with RenderingDevice support is hardware which can run Vulkan, Direct3D 12, or Metal.
Overall comparison
Feature |
Compatibility |
Mobile |
Forward+ |
|---|---|---|---|
Required hardware |
Older or low-end. |
Newer or high-end. Requires Vulkan, Direct3D 12, or Metal support. |
Newer or high-end. Requires Vulkan, Direct3D 12, or Metal support. |
Runs on new hardware |
✔️ Yes. |
✔️ Yes. |
✔️ Yes. |
Runs on old and low-end hardware |
✔️ Yes. |
✔️ Sí, pero más lento que Compatibility. |
✔️ Yes, but slowest of all renderers. |
Runs on hardware without RenderingDevice support |
✔️ Yes. |
❌ No. |
❌ No. |
Target platforms |
Mobile, low-end desktop, web. |
Mobile, desktop. |
Escritorio. |
Escritorio |
✔️ Yes. |
✔️ Yes. |
✔️ Yes. |
Mobile |
✔️ Yes (low-end). |
✔️ Yes (high-end). |
⚠️ Compatible, pero con baja optimización. Usa Mobile o Compatibility en su lugar. |
XR |
✔️ Yes. Recommended for standalone headsets. |
✔️ Yes. Recommended for desktop headsets. |
⚠️ Compatible, pero con baja optimización. Usa Mobile o Compatibility en su lugar. |
Web |
✔️ Yes. |
❌ No. |
❌ No. |
2D Games |
✔️ Yes. |
✔️ Sí, pero Compatibility suele ser lo suficientemente bueno para 2D. |
✔️ Sí, pero Compatibility suele ser lo suficientemente bueno para 2D. |
3D Games |
✔️ Yes. |
✔️ Yes. |
✔️ Yes. |
Feature set |
Funciones 2D y 3D básicas. |
Most rendering features. |
Todas las funciones de renderizado. |
2D rendering features |
✔️ Yes. |
✔️ Yes. |
✔️ Yes. |
Core 3D rendering features |
✔️ Yes. |
✔️ Yes. |
✔️ Yes. |
Advanced rendering features |
❌ No. |
⚠️ Yes, limited by mobile hardware. |
✔️ Yes. All rendering features are supported. |
New features |
⚠️ Algunas nuevas funciones de renderizado son añadidas a Compatibility. Estas funciones se añaden después de Mobile y Forward+. |
✔️ Most new rendering features are added to Mobile. Mobile usually gets new features as Forward+ does. |
✔️ All new features are added to Forward+. As the focus of new development, Forward+ gets features first. |
Rendering cost |
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
Véase Luces y sombras 3D para más información.
Feature |
Compatibility |
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 |
❌ No soportados. |
✔️ Soportados. |
✔️ Soportados. |
PCSS for DirectionalLight |
❌ No soportados. |
❌ No soportados. |
✔️ Soportados. |
Light projector textures |
❌ No soportados. |
✔️ Soportados. |
✔️ Soportados. |
Iluminación global
Véase Introducción a la iluminación global para más información.
Feature |
Compatibility |
Mobile |
Forward+ |
|---|---|---|---|
ReflectionProbe |
✔️ Supported, 2 per mesh. |
✔️ Supported, 8 per mesh. |
✔️ Supported, unlimited. |
LightmapGI |
⚠️ Rendering of baked lightmaps is supported. Baking requires hardware with RenderingDevice support. |
✔️ Soportados. |
✔️ Soportados. |
VoxelGI |
❌ No soportados. |
❌ No soportados. |
✔️ Soportados. |
Screen-Space Indirect Lighting (SSIL) |
❌ No soportados. |
❌ No soportados. |
✔️ Soportados. |
Signed Distance Field Global Illumination (SDFGI) |
❌ No soportados. |
❌ No soportados. |
✔️ Soportados. |
Entorno y post proceso
See Entorno y post proceso for more information.
Feature |
Compatibility |
Mobile |
Forward+ |
|---|---|---|---|
Fog (Depth and Height) |
✔️ Soportados. |
✔️ Soportados. |
✔️ Soportados. |
Volumetric Fog |
❌ No soportados. |
❌ No soportados. |
✔️ Soportados. |
Tonemapping |
✔️ Soportados. |
✔️ Soportados. |
✔️ Soportados. |
Screen-Space Reflections |
❌ No soportados. |
❌ No soportados. |
✔️ Soportados. |
Oclusión ambiental en el espacio de la pantalla (SSAO) |
✔️ Soportados. |
❌ No soportados. |
✔️ Soportados. |
Screen-Space Indirect Lighting (SSIL) |
❌ No soportados. |
❌ No soportados. |
✔️ Soportados. |
Signed Distance Field Global Illumination (SDFGI) |
❌ No soportados. |
❌ No soportados. |
✔️ Soportados. |
Brillo |
✔️ Soportados. |
✔️ Soportados. |
✔️ Soportados. |
Ajustes |
✔️ Soportados. |
✔️ Soportados. |
✔️ Soportados. |
Custom post-processing with fullscreen quad |
✔️ Soportados. |
✔️ Soportados. |
✔️ Soportados. |
Custom post-processing with CompositorEffects |
❌ No soportados. |
✔️ Soportados. |
✔️ Soportados. |
Antialiasing
See 3D antialiasing for more information.
Feature |
Compatibility |
Mobile |
Forward+ |
|---|---|---|---|
MSAA 3D |
✔️ Soportados. |
✔️ Soportados. |
✔️ Soportados. |
MSAA 2D |
❌ No soportados. |
✔️ Soportados. |
✔️ Soportados. |
TAA |
❌ No soportados. |
❌ No soportados. |
✔️ Soportados. |
FSR2 |
❌ No soportados. |
❌ No soportados. |
✔️ Soportados. |
FXAA |
❌ No soportados. |
✔️ Soportados. |
✔️ Soportados. |
SMAA |
❌ No soportados. |
✔️ Soportados. |
✔️ Soportados. |
SSAA |
✔️ Soportados. |
✔️ Soportados. |
✔️ Soportados. |
Screen-space roughness limiter |
❌ No soportados. |
✔️ Soportados. |
✔️ Soportados. |
StandardMaterial features
Véase Material estándar 3D y material ORM 3D para más información.
Feature |
Compatibility |
Mobile |
Forward+ |
|---|---|---|---|
Sub-surface scattering |
❌ No soportados. |
❌ No soportados. |
✔️ Soportados. |
Shader features
Véase Referencia de shading para más información.
Feature |
Compatibility |
Mobile |
Forward+ |
|---|---|---|---|
Screen texture |
✔️ Soportados. |
✔️ Soportados. |
✔️ Soportados. |
Textura de profundidad (depth) |
✔️ Soportados. |
✔️ Soportados. |
✔️ Soportados. |
Normal/Roughness buffer |
❌ No soportados. |
❌ No soportados. |
✔️ Soportados. |
Compute shaders |
❌ No soportados. |
⚠️ Supported, but comes with a performance penalty on older devices. |
✔️ Soportados. |
Otras características
Feature |
Compatibility |
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 |
❌ No soportados. |
✔️ Soportados. |
✔️ Soportados. |
Variable rate shading |
❌ No soportados. |
✔️ Soportados. |
✔️ Soportados. |
Decals |
❌ No soportados. |
✔️ Soportados. |
✔️ Soportados. |
Rastros de partículas |
❌ No soportados. |
✔️ Soportados. |
✔️ Soportados. |
Particle SDF collision |
❌ No soportados. |
✔️ Soportados. |
✔️ Soportados. |
Depth of field blur |
❌ No soportados. |
✔️ Soportados. |
✔️ Soportados. |
Adaptive and Mailbox VSync modes |
❌ No soportados. |
✔️ Soportados. |
✔️ Soportados. |
2D HDR Viewport |
❌ No soportados. |
✔️ Soportados. |
✔️ Soportados. |
HDR output |
❌ No soportados. |
✔️ Soportados. |
✔️ Soportados. |
RenderingDevice access |
❌ No soportados. |
✔️ Soportados. |
✔️ Soportados. |