Click or drag to resize

Rendering Pipeline Basic

Paint LayerManual / Base Types / Scene common / Rendering Pipeline BasicMesh Modifier

Rendering Pipeline Basic

The basic rendering pipeline.

Contents
Overview

The rendering pipeline is an object that processes incoming data and pushes processed data to the GPU. The pipeline contains a set of effects.

Screenshot999999999999999999999008 2.png
Optimization

The rendering pipeline is a place where you can optimize rendering of your scene.

  • Configure "Minimum Visible Size Of Objects" to clip visibility by distance. You can also configure "Visibility Distance Factor" per-object to have special configuration for some objects.
  • Configure shadow settings.
  • Don't use displacement mapping for materials when no big sense to use it.
  • Disable "Provide Color Depth Texture Copy" when not using soft particles or refraction effects.
  • Use "Software Occlusion Buffer" and occluders in the scene to optimize culling of invisible objects.
Software Occlusion Buffer

Software occlusion buffer allows skip objects that are covered by other objects. Technically, a special low resolution hierarchical depth buffer is used.

To enable the feature, need to switch on 'Software Occlusion Buffer' property of the rendering pipeline and configure occluders. The occluders are objects of the scene, which cut off what is behind them.

The following objects can be an occluder:

Limitations: Mobile devices are not supported.

Example: Samples\Starter Content\Scenes\Software occlusion buffer.scene.

Screenshot999999999999999999999014 2.png

To show the occlusion buffer, go to 'Debug Mode' button of the Ribbon and select "Software Occlusion Buffer".

Screenshot999999999999999999999015 2.png
Use several pipelines

By default there is a pipeline object in each scene with the name "Rendering Pipeline". You can add more differently configured pipelines to the scene and switch between them. To change the pipeline, use the "Rendering Pipeline" property of the scene.

Example: Samples\Starter Content\Scenes\Change rendering pipeline real-time.scene.

Pipeline for camera

Camera has the ability to override the scene pipeline using the "Rendering Pipeline Override" property.

Properties
Name Description
Deferred Shading Enables the deferred shading. Limited devices (mobile) are not support deferred shading.
High Dynamic Range Enables the high dynamic range rendering. When Auto mode is enabled, HDR is disabled for limited devices (mobile).
Use Render Targets Enables using additional render targets during rendering the frame.
Use Multi Render Targets Enables using multi render targets during rendering the frame. It is enabled by default. MRT is not supported on limited devices (mobile).
Simple Geometry Antialiasing Enables antialising for simple geometry rendering. When Auto mode is enabled, antialiasing is disabled for limited devices (mobile).
Instancing Whether to enable GPU instancing to reduce the number of draw calls.
Instancing Max Count The maximum size of instancing buffer.
LODScale The distance multiplier when determining the level of detail.
LODRange The minimum and maximum levels of detail.
LODScale Shadows The multiplier when determining the level of detail for shadows. Set 100 or more to always use the best LOD for shadows.
Minimum Visible Size Of Objects The minimum visible size of object in pixels.
Name Description
Debug Mode Specifies the debug mode.
Indirect Lighting Whether to calculate the indirect lighting. Alternatively, you can use screen space ambient occlusion by using AmbientOcclusion effect component.
Reflection Whether to calculate reflections. Alternatively, you can use screen space reflections by using Reflection effect component.
GIDistance Maximum distance of the global illumination.
GIGrid Size The size of the 3D grid for the global illumination calculation.
GICascades The number of cascades used for the global illumination calculation.
GICascade Distribution Defines grid cascades distribution of the global illumination.
GICascade Visualize Whether to visualize grid cascades of the global illumination.
Shadows Whether shadows are enabled.
Shadow Intensity The intensity of the shadows. The Light component also has a Shadow Intensity parameter to configure per light.
Shadow Directional Distance Rendering range of the shadows for Directional lights.
Shadow Directional Light Max Count Maximum number of Directional Lights that can cast shadows. The current pipeline is not support more than 1 directional light shadow casters.
Shadow Directional Light Texture Size The size of a shadow texture for Directional Lights.
Shadow Directional Light Cascades The number of cascades used for Directional Lights.
Shadow Directional Light Cascade Distribution Defines shadow cascades distribution for Directional Lights. The distance of the current cascade, multiplied by this value gives distance to the next cascade.
Shadow Directional Light Cascade Visualize Whether to visualize shadow cascades for Directional Lights.
Shadow Directional Light Extrusion Distance Maximum distance to camera where shadows from Directional Lights will be cast.
Shadow Point Spotlight Distance Rendering range of the shadows for Point and Spotlights.
Shadow Point Light Max Count Maximum number of point lights, that can cast shadows.
Shadow Point Light Texture Size The size of a shadow texture for point lights.
Shadow Spotlight Max Count Maximum number of spotlights, that can cast shadows.
Shadow Spotlight Texture Size The size of shadow texture for spotlights.
Shadow Object Visibility Distance Factor The multiplier of shadow visibility distance depending of object visibility distance.
Shadow Material Opacity Mask Threshold Factor The multiplier of OpacityMaskThreshold parameter of materials when user for shadow caster generation.
Shadow Static Whether to enable the static shadows optimization. Use Shadow Static property of the Light component to configure static shadows.
Light Max Distance Maximal vilibility distance for spotlight and point lights.
Light Max Count The max amount of light sources to draw.
Light Grid Whether to use an acceleration grid for lights rendering optimization. The grid is disabled on limited devices in Auto mode.
Light Grid Resolution The size of light grid. The light grid is a 3D texture with sizes LightGridResolution * LightGridResolution * 8 * sizeof( Vector4F ).
Displacement Mapping Max Steps The maximal number of iterations for the displacement mapping.
Displacement Mapping Scale The height multiplier for the displacement mapping.
Tessellation Quality The quality multiplier of the tessellation.
Remove Texture Tiling The intesity of the technique to remove texture tiling.
Provide Color Depth Texture Copy Whether to provide color and depth data for transparent materials. It need to work for soft particles and refraction effects. When Auto mode is enabled, the mode is disabled on mobile devices.
Occlusion Culling Buffer Scene Whether to use the software occlusion culling buffer to skip invisible objects on the screen.
Occlusion Culling Buffer Directional Light Whether to use the software occlusion culling buffer to skip invisible objects for directional light shadows.
Occlusion Culling Buffer Size The height of the occlusion culling buffer in pixels.
Occlusion Culling Buffer Cull Nodes Whether to cull octree nodes by the occlusion culling buffer.
Occlusion Culling Buffer Cull Objects Whether to cull scene objects by the occlusion culling buffer.
Occlusion Culling Buffer Max Occluders The maximal amount of occluders can be rendered for the frame.
Sectors By Distance The amount of groups of objects sorted by the distance. The groups are rendered from near to far by the distance to the camera. The settings mainly helps to calibrate the GPU instancing.
Debug Draw Shadows Whether to display shadows.
Debug Draw Deferred Pass Whether to display objects that are rendered with deferred shading.
Debug Draw Forward Opaque Pass Whether to display opaque objects, that are drawn with forward rendering.
Debug Draw Forward Transparent Pass Whether to display transparent objects, that are drawn with forward rendering.
Debug Draw Layers Whether to display layers.
Debug Draw Decals Whether to display decals.
Debug Draw Simple3 DRenderer Whether to display various auxiliary geometry that is drawn with Simple 3D Renderer.
Debug Draw UI Whether to display UI elements.
Debug Draw Meshes Whether to visualize triangle meshes.
Debug Draw Voxels Whether to visualize voxelized mesh geometry.
Debug Draw Batched Data Whether to visualize batched data.
Debug Draw Not Batched Data Whether to visualize not batched data.
Debug Direct Lighting Whether to add direct lighting to output image.
Debug Indirect Lighting Whether to add indirect lighting to output image.
See also
Paint LayerMesh Modifier