Choose your operating system:
Windows
macOS
Linux
The rendering system in Unreal Engine uses DirectX 11 and DirectX 12 pipelines that include deferred shading, global illumination, lit translucency, and post processing, as well as GPU particle simulation utilizing vector fields.
Deferred Shading
All lights are applied deferred in Unreal Engine 4, as opposed to the forward lighting path used in Unreal Engine 3. Materials write out their attributes into the GBuffers, and lighting passes read in the per-pixel material properties and perform lighting with them.
Lighting Paths
There are three lighting paths in UE4:
Fully dynamic - with Movable Lights
Partially static - with Stationary Lights
Fully static - with Static Lights
These are tools with different tradeoffs between quality, performance, and in-game mutability. Each game can pick which path is the most appropriate for their needs.
Lit Translucency
Translucency is lit and shaded in a single forward pass to guarantee correct blending with other translucency, which is not possible with multipass lighting techniques.
Translucency can cast shadows onto the opaque world and onto itself and other lit translucency.
|
|
---|---|
Translucent Particle Self-Shadowing (Side View) |
Translucent Particle Self-Shadowing (Front View) |
See Lit translucency for more information.
Sub-Surface Shading
Materials have a new shading model MLM_Subsurface which is intended for materials like wax or jade which appear opaque, but lighting scatters inside them. This is lower quality and cheaper than what you would want for skin rendering.
|
|
---|---|
Jade Material |
Ice Material |
GPU Particles
UE4 supports simulating particles on the GPU. Traditional CPU systems allow for thousands of particles in a frame. GPU simulation allows for hundreds of thousands of particles to be simulated and rendered efficiently.
Vector Fields
The most interesting feature of GPU particles, aside from their efficiency, is vector fields. A vector field is a uniform grid of vectors that influences the motion of particles. Vector fields are placed in the world as Actors and can be translated, rotated, and scaled like any other Actor. They are dynamic and may be moved at any time.
A field may also be placed within Cascade, limiting its influence to the emitter with which it is associated. When a particle enters the bounds of the vector field its motion will be influenced by it and when a particle leaves the bounds the influence of the field will fade out.
Post Process Effects
Unreal Engine 4 provides several post processing effects to allow artists and designers to tweak the overall look and feel of the scene. Examples of elements and effects include bloom (HDR blooming effect on bright objects), ambient occlusion, and tone mapping.
Ambient Occlusion
The Ambient Occlusion effect is an SSAO (Screen Space Ambient Occlusion) implementation and is currently based on the depth buffer only. This means normal map details or smoothing groups will not affect the results. Very low poly meshes might appear more angular with the effect enabled. In UE4, the effect is only applied to the ambient which currently means only to AmbientCubemap.
Ambient Cubemaps
The Ambient Cubemap effect applies a cubemap texture to the lighting of the whole scene. This effect is independent of the position from which a material is lit. Viewer position, material roughness (for specular effects), and the material surface normal are all taken into account. This allows efficient and high quality lighting environments.
Bloom
Bloom is a real world light phenomena that can greatly add to the perceived realism of a rendered image at a moderate render performance cost. Bloom can be seen by the naked eye when looking at very bright objects that are on a much darker background. Even brighter objects also cause other effects (streaks, lens flares) but those are not covered by the classic bloom effect. Because our displays (e.g. TV, TFT, ...) usually do not support HDR (high dynamic range), we cannot really render very bright objects. Instead we simulate the effects that happen in the eye (retina subsurface scattering), when light hits the film (film subsurface scattering) or in front of the camera (milky glass filter). The effect might not always be physically correct, but it can help to hint the relative brightness of objects or add realism to the LDR (low dynamic range) image.
Bloom Dirt Mask
The Bloom Dirt Mask effect uses a texture to brighten up the bloom in some defined screen areas. This can be used to create a war camera look, more impressive HDR effect, or camera imperfections.
Eye Adaptation
Eye Adaptation, or Automatic Exposure, causes the exposure of the scene to automatically adjust to recreate the effect experienced as human eyes adjust when going from a bright environment into a dark environment or vice versa.
Lens Flare
The Lens Flare effect is an image-based technique that automatically creates a lens flare when viewing bright objects.
Tone Mapping
Tone Mapping allows the colors of the rendered scene to be shifted or modified to alter the end result. This can be used to create effects such as a sepia filter, hit effects (i.e., a red flash), and many more.
Vignette
The Vignette effect causes the brightness of the rendered scene to decrease as the distance from the Viewport's center increases.