>> Real-time rendering has rapidly
transformed visualization and design
across a vast array of industries.
The ability to work with complex design data
and produce beautiful visuals in rapid succession
has also changed how creators experience their designs.
In Unreal Engine it is this ability
to work with content in a compelling, efficient, and
powerful manner that has helped push
these industries into new territory,
delivering super high-quality content
in the near blink of an eye.
Recent advents in hardware and engine technology
have further opened the door to an even greater toolset
for image fidelity.
But in order to truly appreciate the overall benefits
that Real-Time Ray Tracing provides,
we need to first understand the concepts of ray tracing.
How does it all work?
Or better yet, what is ray tracing?
We could spend an enormous amount of time
in the complex mathematics behind what
is happening with ray tracing.
Or better yet, we can gain a quick understanding
with some simple diagrams.
The term ray tracing is derived from the process
of tracing paths of light from the camera into the scene.
Simply put, it is this casting or tracing
of rays that formulates a technique in rendering
that simulates realistic lighting of a scene
by producing physically accurate shadows, reflections,
and indirect lighting.
With traditional rendering, the process of rasterization
is typically utilized whereby objects within a scene
are created by a virtual mesh of triangles.
In contrast, ray tracing relies on a system of bouncing photons
from object to object before reaching the camera
to produce an image.
This leads to some very big advantages in visual quality.
Ambient occlusion produces a much more robust scene
with tighter, more accurate results
that properly ground objects.
An object's shadow will have sharper shadows
near the contact surface then further away
where it softens and widens, producing
much more realistic scenarios.
Ray Trace Global Illumination adds
real-time interactive bounce lighting to areas
not directly lit by a given light source.
Ray traced reflections produce accurate environment
reflections, support multiple light bounces,
and capture the entire scene dynamically.
Ray trace translucency accurately represents
glass and liquid materials with physically correct reflections,
absorption, and refraction on transparent surfaces.
These features are only a brief summary of the beauty
that Real-Time Ray Tracing brings to any scene.
Real-Time Tracing in Unreal Engine
is allowing visualizers and designers
to create stunning imagery that represent physically
accurate environments.
With advances in GPU hardware development,
Unreal Engine is able to further advance
the fields of interactivity, visualization, and immersive
design.
For rendering features that are not ray tracing compatible,
Unreal Engine still relies on raster rendering.
Coupling ray tracing with existing raster effects
allows Unreal Engine to utilize a hybrid approach, combining
the best of both techniques.
In order to utilize Real-Time Ray Tracing,
a DXR-supported GPU is required.
In the Unreal Editor, in versions 4.22 or later,
we need to enable DX12 and ray tracing.
To do this, we go to our Project Settings,
then to Platforms, Windows.
And use the default Render Hardware Interface
pull-down menu and select DirectX 12.
Next, go to Render Settings and be sure to enable ray tracing.
In order for Real-Time Ray Tracing to be enabled,
we must have Support Compute Skin Cache selected.
A restart of the project brings us
into a scene that is ray tracing ready.
Through a post-process volume, we
can access certain parameters to dial in ray tracing features.
Here, the real-time ray trace reflections are adjusted,
as well as any translucency in the glass materials.
There are settings specific to lights
to adjust how they affect a ray traced scene.
For directional, spot, and point lights, source angle and size,
as well as settings for casting ray traced shadows,
and Effect Reflection can be toggled.
Lastly, there is a Samples Per Pixel
setting to effect overall ray trace light quality.
These settings are the same for all lights,
except for the skylight, where only cast shadowing, effect
reflections, and sample-per-pixel are adjusted.
In the post-process volume, ray traced ambient occlusion
and global illumination are also easily adjusted
to show overall effect on the scene.
Lastly, Unreal Engine provides a companion tool
to the ray tracer called a Path Tracer.
This is a very powerful tool to help
build an overall ground-truth reference image,
as it is not limited by the number of samples it can use.
For artists, this means being able to fine tune materials
and lighting setups more quickly.
Real-Time Ray Tracing is allowing content creators
to take their Unreal visualizations
to photorealistic renderings right out of the viewport.
This latest real-time technology is rapidly
changing how visuals and interactives
are rendered and created.