Changeset View
Changeset View
Standalone View
Standalone View
manual/render/eevee/limitations.rst
| Context not available. | |||||
| Limitations | Limitations | ||||
| *********** | *********** | ||||
| Eevee's goal is to be an interactive render engines. Some features may not be there yet or | Eevee's goal is to be an interactive render engine. Some features may not be there yet or | ||||
| may be impossible to implement into Eevee's architecture without compromising performance. | may be impossible to implement into Eevee's architecture without compromising performance. | ||||
| Here is a rather exhaustive list of all the limitations you can expect while working with Eevee. | Here is a rather exhaustive list of all the limitations you can expect while working with Eevee. | ||||
| Context not available. | |||||
| - Shadows are not supported on light instances (dupli objects, group instancing). | - Shadows are not supported on light instances (dupli objects, group instancing). | ||||
| - Only 128 active lights can be supported by Eevee in a scene. | - Only 128 active lights can be supported by Eevee in a scene. | ||||
| - Only 8 Shadowed sun lights can be supported at the same time. | - Only 8 Shadowed sun lights can be supported at the same time. | ||||
| - As of now, lights can only have one color and does not support light node trees. | - As of now, lights can only have one color and Eevee does not support light node trees. | ||||
| Light Probes | Light Probes | ||||
| Context not available. | |||||
| Indirect Lighting | Indirect Lighting | ||||
| ================= | ================= | ||||
| - Volumetrics don't receive light from Irradiance Volumes but does receive world's diffuse lighting. | - Volumetrics don't receive light from Irradiance Volumes but do receive world's diffuse lighting. | ||||
| - Eevee does not support "specular to diffuse" light bounces nor "specular to specular" light bounces. | - Eevee does not support "specular to diffuse" light bounces nor "specular to specular" light bounces. | ||||
| All specular lighting is turned off during baking. | - All specular lighting is turned off during baking. | ||||
| Volumetrics | Volumetrics | ||||
| Context not available. | |||||
| - Only single scattering is supported. | - Only single scattering is supported. | ||||
| - Volumetrics are rendered only for the Camera "Rays". They don't appear in reflections/refractions and probes. | - Volumetrics are rendered only for the Camera "Rays". They don't appear in reflections/refractions and probes. | ||||
| - Volumetrics don't receive light from Irradiance Volumes but does receive world's diffuse lighting. | - Volumetrics don't receive light from Irradiance Volumes but do receive world's diffuse lighting. | ||||
| - Volumetric shadowing does only work on other volumetrics. They won't cast shadows on solid objects in the scene. | - Volumetric shadowing does only work on other volumetrics. It won't cast shadows on solid objects in the scene. | ||||
| - Volumetric shadowing does only work for volumes inside the view frustum. | - Volumetric shadowing does only work for volumes inside the view frustum. | ||||
| - Volumetric lighting does not respect the Lights shapes. They are treated as point lights | - Volumetric lighting does not respect the Lights shapes. They are treated as point lights. | ||||
| Screen Space Reflections | Screen Space Reflections | ||||
| Context not available. | |||||
| ======================== | ======================== | ||||
| - Only one glossy BSDF can emit screen space reflections. | - Only one glossy BSDF can emit screen space reflections. | ||||
| - The chosen BSDF is currently arbitrary chosen. | - The chosen BSDF is currently arbitrarily chosen. | ||||
| - Screen Space Reflections will reflect transparent objects and objects using Screen Space Refraction | - Screen Space Reflections will reflect transparent objects and objects using Screen Space Refraction | ||||
| but without accurate positioning due to the one layer depth buffer. | but without accurate positioning due to the one layer depth buffer. | ||||
| Context not available. | |||||
| If you absolutely need to render using Bump nodes, render at twice the target resolution and downscale the final output. | If you absolutely need to render using Bump nodes, render at twice the target resolution and downscale the final output. | ||||
| Volumes Objects | Volume Objects | ||||
| Object volume shaders will affect the whole bounding box of the object. | Object volume shaders will affect the whole bounding box of the object. | ||||
| The shape of the volume must be adjusted using procedural texturing inside the shader. | The shape of the volume must be adjusted using procedural texturing inside the shader. | ||||
| Context not available. | |||||
| Shader Nodes | Shader Nodes | ||||
| ============ | ============ | ||||
| - All BSDF are using approximations to achieve realtime performance | - All BSDF's are using approximations to achieve realtime performance | ||||
| so there will always be small differences between Cycles and Eevee. | so there will always be small differences between Cycles and Eevee. | ||||
| - Some utility nodes are not yet compatible with Eevee (i.e. Sky Texture node). | - Some utility nodes are not yet compatible with Eevee (i.e. Sky Texture node). | ||||
| Context not available. | |||||
| As of now Eevee uses OpenGL, and | As of now Eevee uses OpenGL, and | ||||
| :abbr:`GPU (Graphic Processing Unit, also known as Graphics Card)` Memory management is done by the OpenGL driver. | :abbr:`GPU (Graphic Processing Unit, also known as Graphics Card)` Memory management is done by the OpenGL driver. | ||||
| In theory, only the needed textures and meshes (now referred as "the resources") for a single draw call (i.e. one object) | In theory, only the needed textures and meshes (now referred as "the resources") for a single draw call (i.e. one object) | ||||
| needs to fit into the GPU memory. | need to fit into the GPU memory. | ||||
| So if the scene is really heavy, the driver will swap things in and out to make sure all objects are rendered correctly. | So if the scene is really heavy, the driver will swap things in and out to make sure all objects are rendered correctly. | ||||
| In practice, using too much GPU memory can make the GPU driver crash, freeze, or kill the application. | In practice, using too much GPU memory can make the GPU driver crash, freeze, or kill the application. | ||||
| So be careful of what you ask. | So be careful of what you use. | ||||
| There is no standard way of estimating if the resources will fit into the GPU memory and or | There is no standard way of estimating if the resources will fit into the GPU memory and or | ||||
| if the GPU will render them successfully. | if the GPU will render them successfully. | ||||
| Context not available. | |||||
| Being an OpenGL engine, Eevee only uses the power of | Being an OpenGL engine, Eevee only uses the power of | ||||
| the :abbr:`GPU (Graphic Processing Unit, also known as Graphics Card)` to render. | the :abbr:`GPU (Graphic Processing Unit, also known as Graphics Card)` to render. | ||||
| There is no plan to support :abbr:`CPU (Central Processing Unit)` (software) rendering as it would be very inefficient. | There is no plan to support :abbr:`CPU (Central Processing Unit)` (software) rendering as it would be very inefficient. | ||||
| CPU power is still needed to handle high complexity scene as the geometry | CPU power is still needed to handle high scene complexity as the geometry | ||||
| is still being prepared by the CPU before rendering each frame. | must be prepared by the CPU before rendering each frame. | ||||
| Multiple GPU Support | Multiple GPU Support | ||||
| ==================== | ==================== | ||||
| There is currently no support for multiple :abbr:`GPU (Graphic Processing Unit, also known as Graphics Card)` system. | There is currently no support for multiple :abbr:`GPU (Graphic Processing Unit, also known as Graphics Card)` systems. | ||||
| Headless Rendering | Headless Rendering | ||||
| Context not available. | |||||