Pushing the Limits of Mobile Graphics with Unreal Engine
-
Upload
qualcomm-developer-network -
Category
Technology
-
view
807 -
download
2
description
Transcript of Pushing the Limits of Mobile Graphics with Unreal Engine
Pushing the Limits of Mobile Graphics with Unreal EnginePushing the Limits of Mobile Graphics with Unreal Engine
Pawel Skorupka,Senior Programmer
Table of Contents
PART 1 PART 1 Introduction ( me & Vivid Games )Introduction ( me & Vivid Games )
PART 2 PART 2 GodFireGodFire™™: Rise of Prometheus: Rise of Prometheus
PART 3PART 3 Unreal Engine + QualcommUnreal Engine + Qualcomm®® Snapdragon Snapdragon™™ 805: Overview of advanced visual effects 805: Overview of advanced visual effects
PART 4 PART 4 SnapdragonSnapdragon™™ 805 Development support tools 805 Development support tools
PART 5 PART 5 Maximizing SnapdragonMaximizing Snapdragon™™ 805 performance 805 performance
PART 6 PART 6 Q&A sessionQ&A session
Qualcomm Snapdragon is a product of Qualcomm Technologies, Inc.
PART 1 Introduction ( me & Vivid Games )
PART 1: about me
Paweł Skorupka.
Having been interested in video games since the earliest years, he followed his passion and focused on gaining skills needed to become a professional in the game industry.
Currently he is working as Senior Engine Programmer at Vivid Games.
Personally a big fan of traveling, high-tech gadgets, and an inventor in the making.
PART 1: About Vivid Games
Vivid Games was established in 2006, in Bydgoszcz (Poland) by experienced computer industry specialists.
It is one of the most technologically advanced, independent development studios in Europe.
Passion and commitment for the task at hand, as well as striving for perfection in every field of activity, are the keystones of our philosophy.
Most recognizable games include Real Boxing™ and our newest title Godfire™: Rise of Prometheus.
PART 2 GodFire™: Rise of prometheus
PART 2: GodFire™: Rise of prometheus
PART 2: GodFire™: Rise of prometheus
PART 2: GodFire™: Rise of prometheus
PART 3 Unreal Engine + Snapdragon™ 805: Overview of advanced visual effects
PART 3: Opengl ES 3.1
OpenGL ES 3.1 (Android Extension Pack)● Tesselation on mobiles
● Compute shaders
● Separate shader objects
● Enhanced texture functionality
● Updated shading language
● Backward compatibility with version 2.0 and 3.0
PART 3: Tesselation
● Tesselation with displacement mapping.● Where to use tesselation and where use mesh variations prepared by
graphic artist.● Tesselation on mobile platforms.● Improving performance of tesselation with LOD techniques - Adaptive
tesselation.
PART 3: Anti-aliasing
TYPETYPEFXAAFXAA(Fast Approximation Anti-(Fast Approximation Anti-Aliasing)Aliasing)
MSAAMSAA(Multi Sample Anti-Aliasing)(Multi Sample Anti-Aliasing)
MLAAMLAA(Morphological Anti-(Morphological Anti-Aliasing)Aliasing)
PROSPROS
● A post process● Applied not only to edges
● Doesn't blur● FPS/Quality balance is
good● Parametrized
● A post process● Great quality● Tries to match edges to
a pattern
CONSCONS
● Cheap on performance● A post process● Everything is blurred
● Aliases alpha● Smooths only polygon's
edges
● A post process● Fairly expensive
performance-wise● Mainly on PC's and
consoles
Things to constantly watch out for:Things to constantly watch out for:● Scene budget and current
overhead● Unreal Engine System Settings
profiles files● Shadows artifacts
Most important components of the scene:Most important components of the scene:● Dynamic lighting● Static lighting
PART 3: Light & shadow
PART 3: Postprocess ( DOF, Bloom, Motion blur, light shafts )
Post process effects used in Godfire™: Rise of Prometheus
● Depth of field and bloom● Motion and radial blur● Color grading● Chromatic aberration● Multi-color vignette
PART 3: Postprocess - Depth of field AND Bloom
PART 3: Postprocess – Motion Blur and radial blur
PART 3: Postprocess – color grading
PART 3: Postprocess – Chromatic abberation
PART 3: Postprocess – Multi-color Vignette
PART 4 Snapdragon™ 805 Developmentsupport tools
PART 4: Optimization and profiling
Pipeline of profiling and optimization:
● Problems recorded during test sessions.● Using Unreal Engine tools to get rough idea about cause quickly.● Recognize how severe our problem is (an engine bug or budget overflow
problem).● Use external tools to pinpoint the cause of problem.● Find and apply fix.● Resend to tests with additional information.
PART 4: Snapdragon™ 805 MDP8084 dev kit tablet
List of devkit features used for profiling, debugging and performance overview:
● Basic game worked without much hassle.● Fast iterating.● HDMI.● Rich developer options section.● Monitoring settings.● Helpful apps preinstalled.● Available at: http://shop.intrinsyc.com/products/mdp-tablet-powered-by-http://shop.intrinsyc.com/products/mdp-tablet-powered-by-
snapdragon-805-processor snapdragon-805-processor
PART 4: Qualcomm® Adreno Profiler™
● Great GPU profiler for Android platforms. ● Gives developer extensive information in real-time about each frame
rendered.● Can also be used to profile DirectX apps for Windows Phone 8.● Nice graphical IDE for investigating captured frames. ● Available for free here:
https://developer.qualcomm.com/mobile-development/maximize-https://developer.qualcomm.com/mobile-development/maximize-hardware/mobile-gaming-graphics-adrenohardware/mobile-gaming-graphics-adreno
Qualcomm Adreno is a product of Qualcomm Technologies, Inc.
PART 4: Snapdragon Performance VisualizeR
● A multi purpose Swiss army knife.● Preinstalled on Mobile Development Platforms with Snapdragon processors.● Perfect for debugging most bottleneck issues related to native code
operations, as well as data behaviour during game states.● Accessible from web browser.● More information here:
https://developer.qualcomm.com/mobile-development/increase-app-https://developer.qualcomm.com/mobile-development/increase-app-performance/snapdragon-performance-visualizerperformance/snapdragon-performance-visualizer
Qualcomm Snapdragon Performance Visualizer is a product of Qualcomm Technologies, Inc.
PART 5 Maximizing Snapdragon™ 805 performance
PART 5: Maximizing Snapdragon™ 805 performance
● Multithreading – 1 separate thread strictly for rendering purposes.● Level of detail usage in tesselation.● ASTC texture compression.● Smooth gameplay on highest quality profile.● Frustrum culling.
PART 6 Q & A Session
Thank you!