SlideShare a Scribd company logo
1 of 40
Unreal Fest 2023
Owen Wu
Principal Developer Relation Engineer
Arm
Lumen with Immortalis
The Best Practices of Ray Tracing Content on Mobile
Agenda
●Steel Arms on Immortalis
●Ray tracing basics
●Vulkan ray query
●Lumen lighting pipeline
●Lumen best practices
Steel Arms on
Immortalis
Arm’s Most Efficient GPUs Ever
All improvements are compared to the same configuration of Immortalis-G715,
implemented on the same silicon process
S y s t e m - l e v e l E f f i c i e n c y
Up to 40%
less memory bandwidth usage
G P U E f f i c i e n c y
Average 15%
more performance per Watt
H i g h e s t P e r f o r m a n c e
Average 15%
more peak performance
H D R R e n d e r i n g
Architectural throughput
for 64bpp Texturing
2x
Hardware
Ray Tracing
Steel Arms is the latest Immortalis based demo from Arm to pioneer the new
frontier of next-gen graphics technology.
Created with Unreal Engine 5.3, the demo brings desktop level Bloom, Motion
Blur and DOF effects, alongside PBR to smartphone. With the power of
Immortalis, Steel Arms unleashes the full potential of Ray Tracing for shadows
and Lumen, opening a new era of mobile graphics beyond rasterization.
Ray Tracing
Basics
● Object by object
● Triangles projected onto screen
● Check pixel coverage
● Use Z-Buffer for visibility
Rasterization
● Pixel by pixel
● Cast a ray from camera to pixel
● Check triangle intersection
● Use closest-hit for visibility
● More rays for more complex
rendering
Ray Tracing
Vulkan Ray
Query
● Ray queries can be used to
perform ray traversal and get a
result back in any shader stage
● Other than requiring
acceleration structures, ray
queries are performed using
only a set of new shader
instructions
Vulkan Ray Query
● Optimised data structure
● Minimises intersection tests
● Quickly find what a ray has hit
● User can control the topology
● Bottom Level (BLAS)
● Contain index and vertex data
● Hierarchical bounding volumes
● Top Level (TLAS)
● BLAS grouped in instances with
● Transform data (animations)
● Custom ID (materials)
Acceleration Structure TLAS
Instance Instance Instance
BLAS BLAS BLAS
Instance
GLSL Sample
Ray queries are initialized with an
acceleration structure to query
against, ray flags determining
properties of the traversal, a cull
mask, and a geometric
description of the ray being
traced.
rayQueryEXT rq;
rayQueryInitializeEXT(rq, accStruct,
gl_RayFlagsTerminateOnFirstHitEXT |
gl_RayFlagsOpaqueEXT,
cullMask,
origin, tMin, direction, tMax);
// Traverse the acceleration structure
rayQueryProceedEXT(rq);
// Check intersections (if any)
if (rayQueryGetIntersectionTypeEXT(
rq, true)!=
gl_RayQueryCommittedIntersectionNoneEXT)
{
// In shadow
}
Lumen
Lighting
Pipeline
Lumen Lighting Pipeline
●Update surface cache
●Lumen scene lighting
● Direct lighting
● Indirect lighting trace
● Generate final lighting
●Lumen screen probe gather
● Place screen space probes
● Probe trace
● Screen trace
● Near lighting trace
● Distant lighting trace
●Lumen reflection trace
●Direct lighting
Update
Surface Cache
Lumen Scene
Lighting
Last Frame
Radiance
Cache
Screen Probe
Gather
Reflection
Trace
Lumen Scene
●Lumen scene is a simplified scene
description
●Use 2 data to descript the scene
●Signed Distance Field
● Only be used when doing software ray tracing
● Hardware ray tracing will use acceleration structure
instead
●Surface Cache
● Used to cache material data
● Quick sample the material data when ray hit
● For both software and hardware ray tracing
Normal Scene Lumen Scene
Lumen Ray Tracing Pipeline
●Lumen scene indirect lighting (No screen trace)
●Screen probe gather
●Lumen reflection
Screen
Tracing
Software Ray
Tracing
Hardware Ray
Tracing
Skylight
Screen Trace OFF Screen Trace ON
Lumen Scene Lighting
●Direct Lighting
● Tiled deferred shading in surface space
● Each tile can control the max number of light sources
● Can control lighting update rate
●Indirect Lighting from radiosity
● Use last frame cache data as radiosity source
● Place hemispherical probes on top of surface cache to gather radiosity
● Can control the number of probes and gather rays
●Finally store direct and indirect lighting in final lighting atlas
Lumen Screen Probe Gather
●Place probes on pixels using the GBuffer
●Adaptive downsampling
●Trace from probes and sample radiance cache atlas to generate screen space
radiance cache
●Screen probe only trace to 2.0 meters
●Place world probes around screen probes to gather distant lighting
16 4
8
Source: SIGGRAPH 2022 - Lumen: Real-time Global Illumination in Unreal Engine 5​
Lumen Screen Probe Gather
Screen Trace + Near Lighting Trace + Distant Lighting Trace
= Screen Space Radiance
Lumen Reflection Trace
●When roughness is higher than MaxRoughnessToTrace then reuse the
screen space radiance cache
●When roughness is lower than MaxRoughnessToTrace then do the extra ray
tracing
●Same tracing pipeline of screen probe tracing
●MaxRoughnessToTrace can be customized
Lumen Reflection Trace
Screen Trace + Near Lighting Trace + Distant Lighting Trace
= Reflection Radiance
Lumen Final Lighting
Indirect Diffuse + Indirect Specular + Reflection
= Indirect Lighting
+ Direct Lighting
How To Enable Hardware Ray Tracing on Mobile
●Enable SM5 shader format
●r.Android.DisableVulkanSM5Support=0
●Enable deferred shading mode
●Enable Support Hardware Ray Tracing
●Enable Use Hardware Ray Tracing when available
●r.RayTracing.AllowInline=1
Lumen Best
Practices
BVH optimization
●Exclude the objects which are not contributing to lighting from ray tracing
●Reduce the overlap of meshes
●Use instanced static mesh to reduce the memory usage of BLAS
●Skinned mesh needs update BLAS at run-time
●Use higher LOD level of skinned mesh for ray tracing
●May cause artifact when using hardware ray tracing shadow
BVH Overlapping Optimized BVH
Ray Tracing Min LOD Ray Tracing Shadow Artifact
Ray Query Shader
Optimization
FLumenMinimalRayResult TraceLumenMinimalRay(
in RaytracingAccelerationStructure TLAS,
FRayDesc Ray,
inout FRayTracedLightingContext Context)
{
FLumenMinimalPayload Payload =
(FLumenMinimalPayload)0;
FLumenMinimalRayResult MinimalRayResult
= InitLumenMinimalRayResult();
//uint RayFlags =
RAY_FLAG_FORCE_NON_OPAQUE; // Run any-
hit shader
uint RayFlags = 0;
In shader
LumenHardwareRayTracingCommon.ush
, the ray query flag is set to
RAY_FLAG_FORCE_NON_OPAQUE
which will use slow path of ray traversal on
mobile. Change it to 0 can speed up the
ray traversal performance up to 32%
on Immortalis G720.
From 30 fps to 40 fps in Steel Arms case.​
Lumen General Setting Optimization
●Lumen Scene Detail
● Higher value can make sure smaller objects can also contribute to Lumen lighting but will also
increase GPU cost
●Final Gather Quality
● Control the density of the screen probes, higher value increase GPU cost
● 1.0 should reach a good balance between performance and quality for mobile game​
●Max Trace Distance
● Control how far the ray tracing will go, keep it small can decrease GPU cost
● Don’t set it bigger than the size of the scene
Lumen General Setting Optimization
●Scene Capture Cache Resolution Scale
● Control the surface cache resolution, smaller value can save memory
●Lumen Scene Lighting Update Speed
● Can keep it low if the lighting changes are slow to save GPU cost
● 0.5 ~ 1.0 should reach a good balance between performance and quality for mobile game​
●Final Gather Lighting Update Speed
● Can keep it low if slow lighting propagation is acceptable
● 0.5 ~ 1.0 should reach a good balance between performance and quality for mobile game​
Lumen General Setting Optimization
●Reflection Quality
● Control the reflection tracing quality
●Ray Lighting Mode
● Hit Lighting is available when using hardware ray tracing, it evaluates direct lighting instead
of using surface cache
● Hit Lighting mode has higher quality with higher GPU cost
● Hit Lighting mode can reflect direct lighting of skinned mesh
●Max Reflection Bounces
● Control the amount of reflection bounces, higher value has higher GPU cost
Lumen Scene Lighting Optimization
●r.LumenScene.DirectLighting.MaxLightsPerTile
● Control the maximum number of lights per tile for direct lighting evaluation
●r.LumenScene.DirectLighting.UpdateFactor
● Control the per frame update area of direct lighting, higher value improve the performance
●r.LumenScene.Radiosity.UpdateFactor
● Control the per frame update area of indirect lighting, higher value improve the performance
Lumen Scene Lighting Optimization
●r.LumenScene.Radiosity.ProbeSpacing
● Control the density of probes, higher value improve the performance by placing less probes
●r.LumenScene.Radiosity.HemisphereProbeResolution
● The resolution of probe, lower value can save memory
●r.LumenScene.FarField
● Set it to 0 if you don’t need far-field hardware ray tracing
●r.DistanceFields.SupportEvenIfHardwareRayTracingSupported
● Set it to 0 if you don’t need software Lumen support, save memory and scene update cost
Lumen Screen Probe Gather Optimization
●r.Lumen.ScreenProbeGather.RadianceCache.ProbeResolution
● Control the probe atlas texture size, lower value save the memory
●r.Lumen.ScreenProbeGather.RadianceCache.NumProbesToTraceBudget
● Control the number of probes to be updated per frame, lower value improves the performance
●r.Lumen.ScreenProbeGather.DownsampleFactor
● Factor to downsample the GI resolution, higher value improves the performance
Lumen Screen Probe Gather Optimization
●r.Lumen.ScreenProbeGather.TracingOctahedronResolution
● Control the number of rays per screen probe, lower value improves the performance
●r.Lumen.ScreenProbeGather.ScreenTraces
● Using screen trace or not
●r.Lumen.ScreenProbeGather.ScreenTraces.HZBTraversal.FullResDepth
● Using full resolution depth for screen trace or not. Set 0 to improve the performance
●r.Lumen.ScreenProbeGather.ShortRangeAO
● Enable short range ambient occlusion or not
Short Range AO OFF Short Range AO ON
Lumen Reflection Optimization
●r.Lumen.Reflections.RadianceCache
● Resuse the radiance cache for reflection or not, set 1 to speed up ray tracing
●r.Lumen.Reflections.DownsampleFactor
● Downsample factor for reflection, higher value improves the performance
●r.Lumen.Reflections.MaxRoughnessToTrace
● Set the max roughness value for which dedicated reflection rays should be traced
● Otherwise the reflection will reuse the screen space radiance cache
Unreal Fest 2023
THANKS!

More Related Content

What's hot

Putting the AI Back Into Air: Navigating the Air Space of Horizon Zero Dawn
Putting the AI Back Into Air: Navigating the Air Space of Horizon Zero DawnPutting the AI Back Into Air: Navigating the Air Space of Horizon Zero Dawn
Putting the AI Back Into Air: Navigating the Air Space of Horizon Zero DawnGuerrilla
 
Physically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in FrostbitePhysically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in FrostbiteElectronic Arts / DICE
 
Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1
Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1
Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1Ki Hyunwoo
 
Lighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow FallLighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow FallGuerrilla
 
The Real-time Volumetric Cloudscapes of Horizon Zero Dawn
The Real-time Volumetric Cloudscapes of Horizon Zero DawnThe Real-time Volumetric Cloudscapes of Horizon Zero Dawn
The Real-time Volumetric Cloudscapes of Horizon Zero DawnGuerrilla
 
【Unite Tokyo 2019】Unityプログレッシブライトマッパー2019
【Unite Tokyo 2019】Unityプログレッシブライトマッパー2019【Unite Tokyo 2019】Unityプログレッシブライトマッパー2019
【Unite Tokyo 2019】Unityプログレッシブライトマッパー2019UnityTechnologiesJapan002
 
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들Dae Hyek KIM
 
An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...
An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...
An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...Codemotion
 
Triangle Visibility buffer
Triangle Visibility bufferTriangle Visibility buffer
Triangle Visibility bufferWolfgang Engel
 
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)Johan Andersson
 
The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2Guerrilla
 
A Bit More Deferred Cry Engine3
A Bit More Deferred   Cry Engine3A Bit More Deferred   Cry Engine3
A Bit More Deferred Cry Engine3guest11b095
 
DD18 - SEED - Raytracing in Hybrid Real-Time Rendering
DD18 - SEED - Raytracing in Hybrid Real-Time RenderingDD18 - SEED - Raytracing in Hybrid Real-Time Rendering
DD18 - SEED - Raytracing in Hybrid Real-Time RenderingElectronic Arts / DICE
 
Hable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr LightingHable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr Lightingozlael ozlael
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019devCAT Studio, NEXON
 

What's hot (20)

Putting the AI Back Into Air: Navigating the Air Space of Horizon Zero Dawn
Putting the AI Back Into Air: Navigating the Air Space of Horizon Zero DawnPutting the AI Back Into Air: Navigating the Air Space of Horizon Zero Dawn
Putting the AI Back Into Air: Navigating the Air Space of Horizon Zero Dawn
 
Physically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in FrostbitePhysically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in Frostbite
 
Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1
Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1
Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1
 
Lighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow FallLighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow Fall
 
The Real-time Volumetric Cloudscapes of Horizon Zero Dawn
The Real-time Volumetric Cloudscapes of Horizon Zero DawnThe Real-time Volumetric Cloudscapes of Horizon Zero Dawn
The Real-time Volumetric Cloudscapes of Horizon Zero Dawn
 
【Unite Tokyo 2019】Unityプログレッシブライトマッパー2019
【Unite Tokyo 2019】Unityプログレッシブライトマッパー2019【Unite Tokyo 2019】Unityプログレッシブライトマッパー2019
【Unite Tokyo 2019】Unityプログレッシブライトマッパー2019
 
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
 
Relic's FX System
Relic's FX SystemRelic's FX System
Relic's FX System
 
Real-time lightmap baking
Real-time lightmap bakingReal-time lightmap baking
Real-time lightmap baking
 
An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...
An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...
An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...
 
Hair in Tomb Raider
Hair in Tomb RaiderHair in Tomb Raider
Hair in Tomb Raider
 
Triangle Visibility buffer
Triangle Visibility bufferTriangle Visibility buffer
Triangle Visibility buffer
 
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
 
The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2
 
The Unique Lighting of Mirror's Edge
The Unique Lighting of Mirror's EdgeThe Unique Lighting of Mirror's Edge
The Unique Lighting of Mirror's Edge
 
A Bit More Deferred Cry Engine3
A Bit More Deferred   Cry Engine3A Bit More Deferred   Cry Engine3
A Bit More Deferred Cry Engine3
 
Lighting you up in Battlefield 3
Lighting you up in Battlefield 3Lighting you up in Battlefield 3
Lighting you up in Battlefield 3
 
DD18 - SEED - Raytracing in Hybrid Real-Time Rendering
DD18 - SEED - Raytracing in Hybrid Real-Time RenderingDD18 - SEED - Raytracing in Hybrid Real-Time Rendering
DD18 - SEED - Raytracing in Hybrid Real-Time Rendering
 
Hable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr LightingHable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr Lighting
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
 

Similar to Unreal Fest 2023 - Lumen with Immortalis

Accelerating Real-Time LiDAR Data Processing Using GPUs
Accelerating Real-Time LiDAR Data Processing Using GPUsAccelerating Real-Time LiDAR Data Processing Using GPUs
Accelerating Real-Time LiDAR Data Processing Using GPUsVivek Venugopalan
 
Comparison of 3D algorithms to ensure accurate 3D inspection
Comparison of 3D algorithms to ensure accurate 3D inspectionComparison of 3D algorithms to ensure accurate 3D inspection
Comparison of 3D algorithms to ensure accurate 3D inspectionKurt Buttress
 
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time Raytracing
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time RaytracingSIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time Raytracing
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time RaytracingElectronic Arts / DICE
 
Design and implementation of GPU-based SAR image processor
Design and implementation of GPU-based SAR image processorDesign and implementation of GPU-based SAR image processor
Design and implementation of GPU-based SAR image processorNajeeb Ahmad
 
Imaging automotive 2015 addfor v002
Imaging automotive 2015   addfor v002Imaging automotive 2015   addfor v002
Imaging automotive 2015 addfor v002Enrico Busto
 
Imaging automotive 2015 addfor v002
Imaging automotive 2015   addfor v002Imaging automotive 2015   addfor v002
Imaging automotive 2015 addfor v002Enrico Busto
 
Visibility Optimization for Games
Visibility Optimization for GamesVisibility Optimization for Games
Visibility Optimization for GamesUmbra
 
Visibility Optimization for Games
Visibility Optimization for GamesVisibility Optimization for Games
Visibility Optimization for GamesSampo Lappalainen
 
“CMOS Image Sensors: A Guide to Building the Eyes of a Vision System,” a Pres...
“CMOS Image Sensors: A Guide to Building the Eyes of a Vision System,” a Pres...“CMOS Image Sensors: A Guide to Building the Eyes of a Vision System,” a Pres...
“CMOS Image Sensors: A Guide to Building the Eyes of a Vision System,” a Pres...Edge AI and Vision Alliance
 
CUDA by Example : Constant Memory and Events : Notes
CUDA by Example : Constant Memory and Events : NotesCUDA by Example : Constant Memory and Events : Notes
CUDA by Example : Constant Memory and Events : NotesSubhajit Sahu
 
Look Ma, No Jutter! Optimizing Performance Across Oculus Mobile
Look Ma, No Jutter! Optimizing Performance Across Oculus MobileLook Ma, No Jutter! Optimizing Performance Across Oculus Mobile
Look Ma, No Jutter! Optimizing Performance Across Oculus MobileUnity Technologies
 
Making High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis CataldiMaking High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis CataldiUnreal Engine
 
Making High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis CataldiMaking High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis CataldiLuis Cataldi
 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologyTiago Sousa
 
Adaptive Neuro-Fuzzy Inference System (ANFIS) for segmentation of image ROI a...
Adaptive Neuro-Fuzzy Inference System (ANFIS) for segmentation of image ROI a...Adaptive Neuro-Fuzzy Inference System (ANFIS) for segmentation of image ROI a...
Adaptive Neuro-Fuzzy Inference System (ANFIS) for segmentation of image ROI a...IRJET Journal
 
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...Unity Technologies
 
Obstacle detection using laser
Obstacle detection using laserObstacle detection using laser
Obstacle detection using laserRohith R
 
[2017 GDC] Radeon ProRender and Radeon Rays in a Gaming Rendering Workflow
[2017 GDC] Radeon ProRender and Radeon Rays in a Gaming Rendering Workflow[2017 GDC] Radeon ProRender and Radeon Rays in a Gaming Rendering Workflow
[2017 GDC] Radeon ProRender and Radeon Rays in a Gaming Rendering WorkflowTakahiro Harada
 
>A Switchable Light Field Camera Architecture with Angle SEnsitive Pixels and...
>A Switchable Light Field Camera Architecture with Angle SEnsitive Pixels and...>A Switchable Light Field Camera Architecture with Angle SEnsitive Pixels and...
>A Switchable Light Field Camera Architecture with Angle SEnsitive Pixels and...Matt Hirsch - MIT Media Lab
 

Similar to Unreal Fest 2023 - Lumen with Immortalis (20)

Accelerating Real-Time LiDAR Data Processing Using GPUs
Accelerating Real-Time LiDAR Data Processing Using GPUsAccelerating Real-Time LiDAR Data Processing Using GPUs
Accelerating Real-Time LiDAR Data Processing Using GPUs
 
Comparison of 3D algorithms to ensure accurate 3D inspection
Comparison of 3D algorithms to ensure accurate 3D inspectionComparison of 3D algorithms to ensure accurate 3D inspection
Comparison of 3D algorithms to ensure accurate 3D inspection
 
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time Raytracing
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time RaytracingSIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time Raytracing
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time Raytracing
 
Design and implementation of GPU-based SAR image processor
Design and implementation of GPU-based SAR image processorDesign and implementation of GPU-based SAR image processor
Design and implementation of GPU-based SAR image processor
 
Imaging automotive 2015 addfor v002
Imaging automotive 2015   addfor v002Imaging automotive 2015   addfor v002
Imaging automotive 2015 addfor v002
 
Imaging automotive 2015 addfor v002
Imaging automotive 2015   addfor v002Imaging automotive 2015   addfor v002
Imaging automotive 2015 addfor v002
 
Visibility Optimization for Games
Visibility Optimization for GamesVisibility Optimization for Games
Visibility Optimization for Games
 
Visibility Optimization for Games
Visibility Optimization for GamesVisibility Optimization for Games
Visibility Optimization for Games
 
“CMOS Image Sensors: A Guide to Building the Eyes of a Vision System,” a Pres...
“CMOS Image Sensors: A Guide to Building the Eyes of a Vision System,” a Pres...“CMOS Image Sensors: A Guide to Building the Eyes of a Vision System,” a Pres...
“CMOS Image Sensors: A Guide to Building the Eyes of a Vision System,” a Pres...
 
CUDA by Example : Constant Memory and Events : Notes
CUDA by Example : Constant Memory and Events : NotesCUDA by Example : Constant Memory and Events : Notes
CUDA by Example : Constant Memory and Events : Notes
 
Look Ma, No Jutter! Optimizing Performance Across Oculus Mobile
Look Ma, No Jutter! Optimizing Performance Across Oculus MobileLook Ma, No Jutter! Optimizing Performance Across Oculus Mobile
Look Ma, No Jutter! Optimizing Performance Across Oculus Mobile
 
Making High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis CataldiMaking High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis Cataldi
 
Making High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis CataldiMaking High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis Cataldi
 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics Technology
 
Adaptive Neuro-Fuzzy Inference System (ANFIS) for segmentation of image ROI a...
Adaptive Neuro-Fuzzy Inference System (ANFIS) for segmentation of image ROI a...Adaptive Neuro-Fuzzy Inference System (ANFIS) for segmentation of image ROI a...
Adaptive Neuro-Fuzzy Inference System (ANFIS) for segmentation of image ROI a...
 
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
 
Obstacle detection using laser
Obstacle detection using laserObstacle detection using laser
Obstacle detection using laser
 
[2017 GDC] Radeon ProRender and Radeon Rays in a Gaming Rendering Workflow
[2017 GDC] Radeon ProRender and Radeon Rays in a Gaming Rendering Workflow[2017 GDC] Radeon ProRender and Radeon Rays in a Gaming Rendering Workflow
[2017 GDC] Radeon ProRender and Radeon Rays in a Gaming Rendering Workflow
 
Nadia2013 research
Nadia2013 researchNadia2013 research
Nadia2013 research
 
>A Switchable Light Field Camera Architecture with Angle SEnsitive Pixels and...
>A Switchable Light Field Camera Architecture with Angle SEnsitive Pixels and...>A Switchable Light Field Camera Architecture with Angle SEnsitive Pixels and...
>A Switchable Light Field Camera Architecture with Angle SEnsitive Pixels and...
 

More from Owen Wu

COSCUP 2023 - Make Your Own Ray Tracing GPU with FPGA
COSCUP 2023 - Make Your Own Ray Tracing GPU with FPGACOSCUP 2023 - Make Your Own Ray Tracing GPU with FPGA
COSCUP 2023 - Make Your Own Ray Tracing GPU with FPGAOwen Wu
 
Unity mobile game performance profiling – using arm mobile studio
Unity mobile game performance profiling – using arm mobile studioUnity mobile game performance profiling – using arm mobile studio
Unity mobile game performance profiling – using arm mobile studioOwen Wu
 
[Unite Seoul 2020] Mobile Graphics Best Practices for Artists
[Unite Seoul 2020] Mobile Graphics Best Practices for Artists[Unite Seoul 2020] Mobile Graphics Best Practices for Artists
[Unite Seoul 2020] Mobile Graphics Best Practices for ArtistsOwen Wu
 
[TGDF 2020] Mobile Graphics Best Practices for Artist
[TGDF 2020] Mobile Graphics Best Practices for Artist[TGDF 2020] Mobile Graphics Best Practices for Artist
[TGDF 2020] Mobile Graphics Best Practices for ArtistOwen Wu
 
[Unity Forum 2019] Mobile Graphics Optimization Guides
[Unity Forum 2019] Mobile Graphics Optimization Guides[Unity Forum 2019] Mobile Graphics Optimization Guides
[Unity Forum 2019] Mobile Graphics Optimization GuidesOwen Wu
 
[TGDF 2019] Mali GPU Architecture and Mobile Studio
[TGDF 2019] Mali GPU Architecture and Mobile Studio[TGDF 2019] Mali GPU Architecture and Mobile Studio
[TGDF 2019] Mali GPU Architecture and Mobile StudioOwen Wu
 
[Unite Seoul 2019] Mali GPU Architecture and Mobile Studio
[Unite Seoul 2019] Mali GPU Architecture and Mobile Studio [Unite Seoul 2019] Mali GPU Architecture and Mobile Studio
[Unite Seoul 2019] Mali GPU Architecture and Mobile Studio Owen Wu
 
[GDC 2012] Enhancing Graphics in Unreal Engine 3 Titles Using AMD Code Submis...
[GDC 2012] Enhancing Graphics in Unreal Engine 3 Titles Using AMD Code Submis...[GDC 2012] Enhancing Graphics in Unreal Engine 3 Titles Using AMD Code Submis...
[GDC 2012] Enhancing Graphics in Unreal Engine 3 Titles Using AMD Code Submis...Owen Wu
 
[TGDF 2014] 進階Shader技術
[TGDF 2014] 進階Shader技術[TGDF 2014] 進階Shader技術
[TGDF 2014] 進階Shader技術Owen Wu
 

More from Owen Wu (9)

COSCUP 2023 - Make Your Own Ray Tracing GPU with FPGA
COSCUP 2023 - Make Your Own Ray Tracing GPU with FPGACOSCUP 2023 - Make Your Own Ray Tracing GPU with FPGA
COSCUP 2023 - Make Your Own Ray Tracing GPU with FPGA
 
Unity mobile game performance profiling – using arm mobile studio
Unity mobile game performance profiling – using arm mobile studioUnity mobile game performance profiling – using arm mobile studio
Unity mobile game performance profiling – using arm mobile studio
 
[Unite Seoul 2020] Mobile Graphics Best Practices for Artists
[Unite Seoul 2020] Mobile Graphics Best Practices for Artists[Unite Seoul 2020] Mobile Graphics Best Practices for Artists
[Unite Seoul 2020] Mobile Graphics Best Practices for Artists
 
[TGDF 2020] Mobile Graphics Best Practices for Artist
[TGDF 2020] Mobile Graphics Best Practices for Artist[TGDF 2020] Mobile Graphics Best Practices for Artist
[TGDF 2020] Mobile Graphics Best Practices for Artist
 
[Unity Forum 2019] Mobile Graphics Optimization Guides
[Unity Forum 2019] Mobile Graphics Optimization Guides[Unity Forum 2019] Mobile Graphics Optimization Guides
[Unity Forum 2019] Mobile Graphics Optimization Guides
 
[TGDF 2019] Mali GPU Architecture and Mobile Studio
[TGDF 2019] Mali GPU Architecture and Mobile Studio[TGDF 2019] Mali GPU Architecture and Mobile Studio
[TGDF 2019] Mali GPU Architecture and Mobile Studio
 
[Unite Seoul 2019] Mali GPU Architecture and Mobile Studio
[Unite Seoul 2019] Mali GPU Architecture and Mobile Studio [Unite Seoul 2019] Mali GPU Architecture and Mobile Studio
[Unite Seoul 2019] Mali GPU Architecture and Mobile Studio
 
[GDC 2012] Enhancing Graphics in Unreal Engine 3 Titles Using AMD Code Submis...
[GDC 2012] Enhancing Graphics in Unreal Engine 3 Titles Using AMD Code Submis...[GDC 2012] Enhancing Graphics in Unreal Engine 3 Titles Using AMD Code Submis...
[GDC 2012] Enhancing Graphics in Unreal Engine 3 Titles Using AMD Code Submis...
 
[TGDF 2014] 進階Shader技術
[TGDF 2014] 進階Shader技術[TGDF 2014] 進階Shader技術
[TGDF 2014] 進階Shader技術
 

Recently uploaded

Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
The Evolution of Money: Digital Transformation and CBDCs in Central Banking
The Evolution of Money: Digital Transformation and CBDCs in Central BankingThe Evolution of Money: Digital Transformation and CBDCs in Central Banking
The Evolution of Money: Digital Transformation and CBDCs in Central BankingSelcen Ozturkcan
 

Recently uploaded (20)

Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
The Evolution of Money: Digital Transformation and CBDCs in Central Banking
The Evolution of Money: Digital Transformation and CBDCs in Central BankingThe Evolution of Money: Digital Transformation and CBDCs in Central Banking
The Evolution of Money: Digital Transformation and CBDCs in Central Banking
 

Unreal Fest 2023 - Lumen with Immortalis

  • 1. Unreal Fest 2023 Owen Wu Principal Developer Relation Engineer Arm Lumen with Immortalis The Best Practices of Ray Tracing Content on Mobile
  • 2. Agenda ●Steel Arms on Immortalis ●Ray tracing basics ●Vulkan ray query ●Lumen lighting pipeline ●Lumen best practices
  • 4. Arm’s Most Efficient GPUs Ever All improvements are compared to the same configuration of Immortalis-G715, implemented on the same silicon process S y s t e m - l e v e l E f f i c i e n c y Up to 40% less memory bandwidth usage G P U E f f i c i e n c y Average 15% more performance per Watt H i g h e s t P e r f o r m a n c e Average 15% more peak performance H D R R e n d e r i n g Architectural throughput for 64bpp Texturing 2x Hardware Ray Tracing
  • 5. Steel Arms is the latest Immortalis based demo from Arm to pioneer the new frontier of next-gen graphics technology. Created with Unreal Engine 5.3, the demo brings desktop level Bloom, Motion Blur and DOF effects, alongside PBR to smartphone. With the power of Immortalis, Steel Arms unleashes the full potential of Ray Tracing for shadows and Lumen, opening a new era of mobile graphics beyond rasterization.
  • 7. ● Object by object ● Triangles projected onto screen ● Check pixel coverage ● Use Z-Buffer for visibility Rasterization
  • 8. ● Pixel by pixel ● Cast a ray from camera to pixel ● Check triangle intersection ● Use closest-hit for visibility ● More rays for more complex rendering Ray Tracing
  • 10. ● Ray queries can be used to perform ray traversal and get a result back in any shader stage ● Other than requiring acceleration structures, ray queries are performed using only a set of new shader instructions Vulkan Ray Query
  • 11. ● Optimised data structure ● Minimises intersection tests ● Quickly find what a ray has hit ● User can control the topology ● Bottom Level (BLAS) ● Contain index and vertex data ● Hierarchical bounding volumes ● Top Level (TLAS) ● BLAS grouped in instances with ● Transform data (animations) ● Custom ID (materials) Acceleration Structure TLAS Instance Instance Instance BLAS BLAS BLAS Instance
  • 12. GLSL Sample Ray queries are initialized with an acceleration structure to query against, ray flags determining properties of the traversal, a cull mask, and a geometric description of the ray being traced. rayQueryEXT rq; rayQueryInitializeEXT(rq, accStruct, gl_RayFlagsTerminateOnFirstHitEXT | gl_RayFlagsOpaqueEXT, cullMask, origin, tMin, direction, tMax); // Traverse the acceleration structure rayQueryProceedEXT(rq); // Check intersections (if any) if (rayQueryGetIntersectionTypeEXT( rq, true)!= gl_RayQueryCommittedIntersectionNoneEXT) { // In shadow }
  • 14. Lumen Lighting Pipeline ●Update surface cache ●Lumen scene lighting ● Direct lighting ● Indirect lighting trace ● Generate final lighting ●Lumen screen probe gather ● Place screen space probes ● Probe trace ● Screen trace ● Near lighting trace ● Distant lighting trace ●Lumen reflection trace ●Direct lighting Update Surface Cache Lumen Scene Lighting Last Frame Radiance Cache Screen Probe Gather Reflection Trace
  • 15. Lumen Scene ●Lumen scene is a simplified scene description ●Use 2 data to descript the scene ●Signed Distance Field ● Only be used when doing software ray tracing ● Hardware ray tracing will use acceleration structure instead ●Surface Cache ● Used to cache material data ● Quick sample the material data when ray hit ● For both software and hardware ray tracing
  • 17. Lumen Ray Tracing Pipeline ●Lumen scene indirect lighting (No screen trace) ●Screen probe gather ●Lumen reflection Screen Tracing Software Ray Tracing Hardware Ray Tracing Skylight
  • 18. Screen Trace OFF Screen Trace ON
  • 19. Lumen Scene Lighting ●Direct Lighting ● Tiled deferred shading in surface space ● Each tile can control the max number of light sources ● Can control lighting update rate ●Indirect Lighting from radiosity ● Use last frame cache data as radiosity source ● Place hemispherical probes on top of surface cache to gather radiosity ● Can control the number of probes and gather rays ●Finally store direct and indirect lighting in final lighting atlas
  • 20. Lumen Screen Probe Gather ●Place probes on pixels using the GBuffer ●Adaptive downsampling ●Trace from probes and sample radiance cache atlas to generate screen space radiance cache ●Screen probe only trace to 2.0 meters ●Place world probes around screen probes to gather distant lighting 16 4 8 Source: SIGGRAPH 2022 - Lumen: Real-time Global Illumination in Unreal Engine 5​
  • 21. Lumen Screen Probe Gather Screen Trace + Near Lighting Trace + Distant Lighting Trace = Screen Space Radiance
  • 22. Lumen Reflection Trace ●When roughness is higher than MaxRoughnessToTrace then reuse the screen space radiance cache ●When roughness is lower than MaxRoughnessToTrace then do the extra ray tracing ●Same tracing pipeline of screen probe tracing ●MaxRoughnessToTrace can be customized
  • 23. Lumen Reflection Trace Screen Trace + Near Lighting Trace + Distant Lighting Trace = Reflection Radiance
  • 24. Lumen Final Lighting Indirect Diffuse + Indirect Specular + Reflection = Indirect Lighting + Direct Lighting
  • 25. How To Enable Hardware Ray Tracing on Mobile ●Enable SM5 shader format ●r.Android.DisableVulkanSM5Support=0 ●Enable deferred shading mode ●Enable Support Hardware Ray Tracing ●Enable Use Hardware Ray Tracing when available ●r.RayTracing.AllowInline=1
  • 27. BVH optimization ●Exclude the objects which are not contributing to lighting from ray tracing ●Reduce the overlap of meshes ●Use instanced static mesh to reduce the memory usage of BLAS ●Skinned mesh needs update BLAS at run-time ●Use higher LOD level of skinned mesh for ray tracing ●May cause artifact when using hardware ray tracing shadow
  • 29. Ray Tracing Min LOD Ray Tracing Shadow Artifact
  • 30. Ray Query Shader Optimization FLumenMinimalRayResult TraceLumenMinimalRay( in RaytracingAccelerationStructure TLAS, FRayDesc Ray, inout FRayTracedLightingContext Context) { FLumenMinimalPayload Payload = (FLumenMinimalPayload)0; FLumenMinimalRayResult MinimalRayResult = InitLumenMinimalRayResult(); //uint RayFlags = RAY_FLAG_FORCE_NON_OPAQUE; // Run any- hit shader uint RayFlags = 0; In shader LumenHardwareRayTracingCommon.ush , the ray query flag is set to RAY_FLAG_FORCE_NON_OPAQUE which will use slow path of ray traversal on mobile. Change it to 0 can speed up the ray traversal performance up to 32% on Immortalis G720. From 30 fps to 40 fps in Steel Arms case.​
  • 31. Lumen General Setting Optimization ●Lumen Scene Detail ● Higher value can make sure smaller objects can also contribute to Lumen lighting but will also increase GPU cost ●Final Gather Quality ● Control the density of the screen probes, higher value increase GPU cost ● 1.0 should reach a good balance between performance and quality for mobile game​ ●Max Trace Distance ● Control how far the ray tracing will go, keep it small can decrease GPU cost ● Don’t set it bigger than the size of the scene
  • 32. Lumen General Setting Optimization ●Scene Capture Cache Resolution Scale ● Control the surface cache resolution, smaller value can save memory ●Lumen Scene Lighting Update Speed ● Can keep it low if the lighting changes are slow to save GPU cost ● 0.5 ~ 1.0 should reach a good balance between performance and quality for mobile game​ ●Final Gather Lighting Update Speed ● Can keep it low if slow lighting propagation is acceptable ● 0.5 ~ 1.0 should reach a good balance between performance and quality for mobile game​
  • 33. Lumen General Setting Optimization ●Reflection Quality ● Control the reflection tracing quality ●Ray Lighting Mode ● Hit Lighting is available when using hardware ray tracing, it evaluates direct lighting instead of using surface cache ● Hit Lighting mode has higher quality with higher GPU cost ● Hit Lighting mode can reflect direct lighting of skinned mesh ●Max Reflection Bounces ● Control the amount of reflection bounces, higher value has higher GPU cost
  • 34. Lumen Scene Lighting Optimization ●r.LumenScene.DirectLighting.MaxLightsPerTile ● Control the maximum number of lights per tile for direct lighting evaluation ●r.LumenScene.DirectLighting.UpdateFactor ● Control the per frame update area of direct lighting, higher value improve the performance ●r.LumenScene.Radiosity.UpdateFactor ● Control the per frame update area of indirect lighting, higher value improve the performance
  • 35. Lumen Scene Lighting Optimization ●r.LumenScene.Radiosity.ProbeSpacing ● Control the density of probes, higher value improve the performance by placing less probes ●r.LumenScene.Radiosity.HemisphereProbeResolution ● The resolution of probe, lower value can save memory ●r.LumenScene.FarField ● Set it to 0 if you don’t need far-field hardware ray tracing ●r.DistanceFields.SupportEvenIfHardwareRayTracingSupported ● Set it to 0 if you don’t need software Lumen support, save memory and scene update cost
  • 36. Lumen Screen Probe Gather Optimization ●r.Lumen.ScreenProbeGather.RadianceCache.ProbeResolution ● Control the probe atlas texture size, lower value save the memory ●r.Lumen.ScreenProbeGather.RadianceCache.NumProbesToTraceBudget ● Control the number of probes to be updated per frame, lower value improves the performance ●r.Lumen.ScreenProbeGather.DownsampleFactor ● Factor to downsample the GI resolution, higher value improves the performance
  • 37. Lumen Screen Probe Gather Optimization ●r.Lumen.ScreenProbeGather.TracingOctahedronResolution ● Control the number of rays per screen probe, lower value improves the performance ●r.Lumen.ScreenProbeGather.ScreenTraces ● Using screen trace or not ●r.Lumen.ScreenProbeGather.ScreenTraces.HZBTraversal.FullResDepth ● Using full resolution depth for screen trace or not. Set 0 to improve the performance ●r.Lumen.ScreenProbeGather.ShortRangeAO ● Enable short range ambient occlusion or not
  • 38. Short Range AO OFF Short Range AO ON
  • 39. Lumen Reflection Optimization ●r.Lumen.Reflections.RadianceCache ● Resuse the radiance cache for reflection or not, set 1 to speed up ray tracing ●r.Lumen.Reflections.DownsampleFactor ● Downsample factor for reflection, higher value improves the performance ●r.Lumen.Reflections.MaxRoughnessToTrace ● Set the max roughness value for which dedicated reflection rays should be traced ● Otherwise the reflection will reuse the screen space radiance cache

Editor's Notes

  1. Three potential ways in Juxtaposing clean and cool with stylized artistic elements Blended Fully stylized