29
Pushing the Limits of Mobile Graphics with Unreal Engine Pushing the Limits of Mobile Graphics with Unreal Engine Pawel Skorupka, Senior Programmer

Pushing the Limits of Mobile Graphics with Unreal Engine

Embed Size (px)

DESCRIPTION

Learn how Vivid Games used Unreal Engine on Qualcomm® Snapdragon™ 805 to enable advanced graphics in their latest game, Godfire: Rise of Prometheus. Advanced features such as hardware tessellation, OpenGL ES 3.1 compute shaders and other visual effects will be detailed. Come see Unreal Engine in action and how you can incorporate cutting-edge graphics into your game. Qualcomm Snapdragon is a product of Qualcomm Technologies, Inc. Watch this presentation on YouTube: https://www.youtube.com/watch?v=M_QIuzvLoX8

Citation preview

Page 1: 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

Page 2: Pushing the Limits of Mobile Graphics with Unreal Engine

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.

Page 3: Pushing the Limits of Mobile Graphics with Unreal Engine

PART 1 Introduction ( me & Vivid Games )

Page 4: Pushing the Limits of Mobile Graphics with Unreal Engine

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.

Page 5: Pushing the Limits of Mobile Graphics with Unreal Engine

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.

Page 6: Pushing the Limits of Mobile Graphics with Unreal Engine

PART 2 GodFire™: Rise of prometheus

Page 7: Pushing the Limits of Mobile Graphics with Unreal Engine

PART 2: GodFire™: Rise of prometheus

Page 8: Pushing the Limits of Mobile Graphics with Unreal Engine

PART 2: GodFire™: Rise of prometheus

Page 9: Pushing the Limits of Mobile Graphics with Unreal Engine

PART 2: GodFire™: Rise of prometheus

Page 10: Pushing the Limits of Mobile Graphics with Unreal Engine

PART 3 Unreal Engine + Snapdragon™ 805: Overview of advanced visual effects

Page 11: Pushing the Limits of Mobile Graphics with Unreal Engine

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

Page 12: Pushing the Limits of Mobile Graphics with Unreal Engine

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.

Page 13: Pushing the Limits of Mobile Graphics with Unreal Engine

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

Page 14: Pushing the Limits of Mobile Graphics with Unreal Engine

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

Page 15: Pushing the Limits of Mobile Graphics with Unreal Engine

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

Page 16: Pushing the Limits of Mobile Graphics with Unreal Engine

PART 3: Postprocess - Depth of field AND Bloom

Page 17: Pushing the Limits of Mobile Graphics with Unreal Engine

PART 3: Postprocess – Motion Blur and radial blur

Page 18: Pushing the Limits of Mobile Graphics with Unreal Engine

PART 3: Postprocess – color grading

Page 19: Pushing the Limits of Mobile Graphics with Unreal Engine

PART 3: Postprocess – Chromatic abberation

Page 20: Pushing the Limits of Mobile Graphics with Unreal Engine

PART 3: Postprocess – Multi-color Vignette

Page 21: Pushing the Limits of Mobile Graphics with Unreal Engine

PART 4 Snapdragon™ 805 Developmentsupport tools

Page 22: Pushing the Limits of Mobile Graphics with Unreal Engine

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.

Page 23: Pushing the Limits of Mobile Graphics with Unreal Engine

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

Page 24: Pushing the Limits of Mobile Graphics with Unreal Engine

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.

Page 25: Pushing the Limits of Mobile Graphics with Unreal Engine

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.

Page 26: Pushing the Limits of Mobile Graphics with Unreal Engine

PART 5 Maximizing Snapdragon™ 805 performance

Page 27: Pushing the Limits of Mobile Graphics with Unreal Engine

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.

Page 28: Pushing the Limits of Mobile Graphics with Unreal Engine

PART 6 Q & A Session

Page 29: Pushing the Limits of Mobile Graphics with Unreal Engine

Thank you!