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

[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근
[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근
[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근MinGeun Park
 
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
 
언차티드4 테크아트 파트1 톤맵핑&색보정
언차티드4 테크아트 파트1 톤맵핑&색보정언차티드4 테크아트 파트1 톤맵핑&색보정
언차티드4 테크아트 파트1 톤맵핑&색보정Dae Hyek KIM
 
Compute shader
Compute shaderCompute shader
Compute shaderQooJuice
 
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들Dae Hyek KIM
 
OIT to Volumetric Shadow Mapping, 101 Uses for Raster-Ordered Views using Dir...
OIT to Volumetric Shadow Mapping, 101 Uses for Raster-Ordered Views using Dir...OIT to Volumetric Shadow Mapping, 101 Uses for Raster-Ordered Views using Dir...
OIT to Volumetric Shadow Mapping, 101 Uses for Raster-Ordered Views using Dir...Gael Hofemeier
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019devCAT Studio, NEXON
 
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑MinGeun Park
 
Custom fabric shader for unreal engine 4
Custom fabric shader for unreal engine 4Custom fabric shader for unreal engine 4
Custom fabric shader for unreal engine 4동석 김
 
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술henjeon
 
Brdf기반 사전정의 스킨 셰이더
Brdf기반 사전정의 스킨 셰이더Brdf기반 사전정의 스킨 셰이더
Brdf기반 사전정의 스킨 셰이더동석 김
 
[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기
[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기
[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기Madumpa Park
 
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in FrostbitePhysically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in FrostbiteElectronic Arts / DICE
 
The Guerrilla Guide to Game Code
The Guerrilla Guide to Game CodeThe Guerrilla Guide to Game Code
The Guerrilla Guide to Game CodeGuerrilla
 
[IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트
[IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트[IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트
[IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트강 민우
 

What's hot (20)

[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근
[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근
[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근
 
Ssao
SsaoSsao
Ssao
 
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
 
언차티드4 테크아트 파트1 톤맵핑&색보정
언차티드4 테크아트 파트1 톤맵핑&색보정언차티드4 테크아트 파트1 톤맵핑&색보정
언차티드4 테크아트 파트1 톤맵핑&색보정
 
Compute shader
Compute shaderCompute shader
Compute shader
 
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
 
OIT to Volumetric Shadow Mapping, 101 Uses for Raster-Ordered Views using Dir...
OIT to Volumetric Shadow Mapping, 101 Uses for Raster-Ordered Views using Dir...OIT to Volumetric Shadow Mapping, 101 Uses for Raster-Ordered Views using Dir...
OIT to Volumetric Shadow Mapping, 101 Uses for Raster-Ordered Views using Dir...
 
D2 Hdr
D2 HdrD2 Hdr
D2 Hdr
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
 
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
 
Lighting the City of Glass
Lighting the City of GlassLighting the City of Glass
Lighting the City of Glass
 
Custom fabric shader for unreal engine 4
Custom fabric shader for unreal engine 4Custom fabric shader for unreal engine 4
Custom fabric shader for unreal engine 4
 
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
 
Ndc11 이창희_hdr
Ndc11 이창희_hdrNdc11 이창희_hdr
Ndc11 이창희_hdr
 
Brdf기반 사전정의 스킨 셰이더
Brdf기반 사전정의 스킨 셰이더Brdf기반 사전정의 스킨 셰이더
Brdf기반 사전정의 스킨 셰이더
 
[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기
[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기
[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기
 
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in FrostbitePhysically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
 
The Guerrilla Guide to Game Code
The Guerrilla Guide to Game CodeThe Guerrilla Guide to Game Code
The Guerrilla Guide to Game Code
 
[IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트
[IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트[IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트
[IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트
 
Niagara In UE4
Niagara In UE4Niagara In UE4
Niagara In UE4
 

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

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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
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
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 

Recently uploaded (20)

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...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
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...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
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
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 

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