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

AAA게임_UI_최적화_및_빌드하기.pptx
AAA게임_UI_최적화_및_빌드하기.pptxAAA게임_UI_최적화_및_빌드하기.pptx
AAA게임_UI_최적화_및_빌드하기.pptxTonyCms
 
NDC17 장창완(최종)
NDC17 장창완(최종)NDC17 장창완(최종)
NDC17 장창완(최종)창완 장
 
Scene Graphs & Component Based Game Engines
Scene Graphs & Component Based Game EnginesScene Graphs & Component Based Game Engines
Scene Graphs & Component Based Game EnginesBryan Duggan
 
Ue4 에서의 환경변화 구현
Ue4 에서의 환경변화 구현Ue4 에서의 환경변화 구현
Ue4 에서의 환경변화 구현kyuil choi
 
언리얼엔진4를 활용한 레이트레이싱 리얼타임 영상 제작하기
언리얼엔진4를 활용한 레이트레이싱 리얼타임 영상 제작하기언리얼엔진4를 활용한 레이트레이싱 리얼타임 영상 제작하기
언리얼엔진4를 활용한 레이트레이싱 리얼타임 영상 제작하기YOUNGJO CHO
 
[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰
[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰
[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰승민 백
 
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리MinGeun Park
 
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버Heungsub Lee
 
언리얼을 활용한 오브젝트 풀링
언리얼을 활용한 오브젝트 풀링언리얼을 활용한 오브젝트 풀링
언리얼을 활용한 오브젝트 풀링TonyCms
 
[NDC 2010] 그럴듯한 랜덤 생성 컨텐츠 만들기
[NDC 2010] 그럴듯한 랜덤 생성 컨텐츠 만들기[NDC 2010] 그럴듯한 랜덤 생성 컨텐츠 만들기
[NDC 2010] 그럴듯한 랜덤 생성 컨텐츠 만들기Yongha Kim
 
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기Jaeseung Ha
 
전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019
전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019
전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019devCAT Studio, NEXON
 
온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기Seungjae Lee
 
사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)
사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)
사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)Seungmo Koo
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019devCAT Studio, NEXON
 
나만의 엔진 개발하기
나만의 엔진 개발하기나만의 엔진 개발하기
나만의 엔진 개발하기YEONG-CHEON YOU
 
[2012 대학특강] 아티스트 + 프로그래머
[2012 대학특강] 아티스트 + 프로그래머[2012 대학특강] 아티스트 + 프로그래머
[2012 대학특강] 아티스트 + 프로그래머포프 김
 
[IGC2018] 청강대 이득우 - 언리얼에디터확장을위해알아야할것들
[IGC2018] 청강대 이득우 - 언리얼에디터확장을위해알아야할것들[IGC2018] 청강대 이득우 - 언리얼에디터확장을위해알아야할것들
[IGC2018] 청강대 이득우 - 언리얼에디터확장을위해알아야할것들강 민우
 
Progressive Lightmapper: An Introduction to Lightmapping in Unity
Progressive Lightmapper: An Introduction to Lightmapping in UnityProgressive Lightmapper: An Introduction to Lightmapping in Unity
Progressive Lightmapper: An Introduction to Lightmapping in UnityUnity Technologies
 

What's hot (20)

AAA게임_UI_최적화_및_빌드하기.pptx
AAA게임_UI_최적화_및_빌드하기.pptxAAA게임_UI_최적화_및_빌드하기.pptx
AAA게임_UI_최적화_및_빌드하기.pptx
 
NDC17 장창완(최종)
NDC17 장창완(최종)NDC17 장창완(최종)
NDC17 장창완(최종)
 
Scene Graphs & Component Based Game Engines
Scene Graphs & Component Based Game EnginesScene Graphs & Component Based Game Engines
Scene Graphs & Component Based Game Engines
 
Ue4 에서의 환경변화 구현
Ue4 에서의 환경변화 구현Ue4 에서의 환경변화 구현
Ue4 에서의 환경변화 구현
 
언리얼엔진4를 활용한 레이트레이싱 리얼타임 영상 제작하기
언리얼엔진4를 활용한 레이트레이싱 리얼타임 영상 제작하기언리얼엔진4를 활용한 레이트레이싱 리얼타임 영상 제작하기
언리얼엔진4를 활용한 레이트레이싱 리얼타임 영상 제작하기
 
[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰
[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰
[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰
 
Frostbite on Mobile
Frostbite on MobileFrostbite on Mobile
Frostbite on Mobile
 
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
 
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
 
언리얼을 활용한 오브젝트 풀링
언리얼을 활용한 오브젝트 풀링언리얼을 활용한 오브젝트 풀링
언리얼을 활용한 오브젝트 풀링
 
[NDC 2010] 그럴듯한 랜덤 생성 컨텐츠 만들기
[NDC 2010] 그럴듯한 랜덤 생성 컨텐츠 만들기[NDC 2010] 그럴듯한 랜덤 생성 컨텐츠 만들기
[NDC 2010] 그럴듯한 랜덤 생성 컨텐츠 만들기
 
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
 
전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019
전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019
전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019
 
온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기
 
사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)
사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)
사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
 
나만의 엔진 개발하기
나만의 엔진 개발하기나만의 엔진 개발하기
나만의 엔진 개발하기
 
[2012 대학특강] 아티스트 + 프로그래머
[2012 대학특강] 아티스트 + 프로그래머[2012 대학특강] 아티스트 + 프로그래머
[2012 대학특강] 아티스트 + 프로그래머
 
[IGC2018] 청강대 이득우 - 언리얼에디터확장을위해알아야할것들
[IGC2018] 청강대 이득우 - 언리얼에디터확장을위해알아야할것들[IGC2018] 청강대 이득우 - 언리얼에디터확장을위해알아야할것들
[IGC2018] 청강대 이득우 - 언리얼에디터확장을위해알아야할것들
 
Progressive Lightmapper: An Introduction to Lightmapping in Unity
Progressive Lightmapper: An Introduction to Lightmapping in UnityProgressive Lightmapper: An Introduction to Lightmapping in Unity
Progressive Lightmapper: An Introduction to Lightmapping in Unity
 

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

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
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
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
 
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
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Recently uploaded (20)

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
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
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
 
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
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

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