Engine Development & Support Team Lead for Korea UE4 Mobile Team Lead
|
|
- Eric Elliott
- 6 years ago
- Views:
Transcription
1
2 Jack Porter Engine Development & Support Team Lead for Korea UE4 Mobile Team Lead I ve worked on Unreal Engine development since 1998! Contributed to Unreal Tournament & Gears of War series
3 Introduction The UE4 mobile rendering pipeline and features for AAA games High-end graphics with mobile using OpenGL ES 3.1, Vulkan and Metal Upcoming UE4 mobile features
4 State of the UE4 for Mobile Game Market AAA, console quality games released with many more in development Full open-world MMOs now running on Mobile Lineage II Revolution was top grossing mobile game worldwide in February 2017
5 Real open-world MMO on mobile devices Has raised the bar for what s expected for mobile titles! Huge success!
6 Netmarble developed this game using standard UE4 features Development, testing and debugging on PC UE4 Mobile Renderer MobileHDR, post-processing Landscape Level Streaming Materials UI made with Widget Blueprints Device Profiles for scalability Minumum Spec: Galaxy S4, iphone 5
7
8 Unreal Engine 4 has three different renders: Deferred Renderer The default renderer for the editor, PC and Console Feature levels SM4, SM5 Forward VR Renderer Used mainly for desktop VR eg Robo Recall and to support MSAA Similar feature set to the deferred renderer with a few exceptions (eg screen-space effects) Feature levels SM5 Mobile Renderer Used for mobile devices Forward renderer Reduced feature set especially for lighting, shadowing Feature levels ES2, ES3_1
9 UE4 can target one of several feature levels, which specifies the set of Material Editor features that will be supported in the shaders. The feature level also determines what UE4 Renderer can be used. The mobile feature level names are ES2 and ES3_1 but do not exactly correspond to the OpenGL ES 2 and OpenGL ES 3.1. The ES2 renderer uses ES 3.0 features when they are availble. Feature Level Switch switches can be used in materials Editor Preview Rendering Level can be used to preview
10 ES2 ES3_1 High End Mobile SM4 SM5 Renderer Platforms Textures Notes Mobile Mobile Deferred Deferred or Forward VR OpenGL ES x (Android) OpenGL ES 2.0 (ios) OpenGL ES 3.1 (Android) Vulkan (Android) Metal (ios) Direct3D 10 OpenGL 3.0 Metal (MacOS, ios A8+ devices ) Direct3D 11 OpenGL 4.0 Playstation 4 Xbox One Metal (MacOS) OpenGL ES 3.1+AEP (Nvidia K1, X1 with Android ) 8 16 On Android: Shaders are patched to support OpenGL ES 3.0 features and other GL extensions on some devices Fallback for 32-bit render target Floating point render targets Vertex textures srgb support 16 Minimum feature level for deferred 16 + (using shared samplers) Metal Deferred is experimental Minimum feature level for tessellation support Compute shaders used for advanced rendering features OpenGL ES 3.1+AEP Deferred will be deprecated in the future
11 Selecting one of these Build options causes UE4 to generates an extra set of shaders using the ES3_1 feature level Devices will automatically choose the best RHI and feature level Can be overridden by Device Profiles
12 What is Vulkan? Vulkan is a next generation graphics API intended to replace OpenGL and OpenGL ES Designed by the industry, sponsored by Khronos Designed with graphics hardware in mind UE4 Android with Vulkan Android 7.0 devices now shipping with working Vulkan drivers Light-weight API minimizes CPU usage Pipeline State Objects make state changes efficient More draw calls because each draw call is more light-weight Render Passes make efficient use of mobile tiling GPU hardware
13 Comparing PC Direct3D RHI and Vulkan RHI on PC and device
14 Unlike the deferred renderer using a Gbuffer, UE4 mobile renderer is a forward renderer which saves only the output color. Scene Color Ideally 16-bit floating point render target on modern devices When not available we use RGBE encoding or mosaic RGB Stores the HDR color values while rendering Alpha channel stores the depth for later use (soft particles, decals) Depth buffer Usually 24 bits of depth, 8 bits of stencil Scene Color (HDR) Backbuffer 32-bit RGBA Final result after post-processing and tonemapping Backbuffer
15 RGB + Exponent encoding method needed for Galaxy S6/Note 4 with Android 5.x Requires EXT_shader_framebuffer_fetch extension available on Galaxy S6 Supports full HDR, bloom and no resolution limitations Mosaic HDR Native HDR Encoding HDR
16 32-bit hardware backbuffer & depth buffer Allocated by the platform, eg EGL in the case of Android srgb not possible on many devices Scene is rendered directly to the backbuffer in Gamma Space followed by translucency and UI Fastest possible rendering mode for simple or VR games Many effects do not work No post processing No deferred passes like decals or modulated shadows because the depth buffer is not accessible Backbuffer (LDR mode)
17 1. View setup 2. GPU Particle simulation 3. Shadow Map rendering 4. Base Pass 5. Decals 6. Modulated shadows 7. Translucency 8. Post-processing & Tonemapping 9. HUD & UI
18 Find out all visible objects Frustum culling Distance culling Precomputed visibility View relevance Find out all visible shadows Gather dynamic mesh elements Update view uniform buffer
19 Requires device with ES3_1 feaure level, or ES2 with an Android device with OpenGL ES 3.1 Simulates particle physics on GPU Writes particle Position to 128bpp target Writes particle Velocity to 64bpp target
20 Setup depth render target Find out which objects need shadows Render them using main light view Shadow map used later During base pass for CSM shadows After, for modulated shadow projections
21 Choose appropriate shaders depending on shadow and lighting properties Unlit Distance field shadows + LM Distance field shadows + LM + CSM Dynamic lighting (CSM) etc For dynamic elements, this happens every frame For static elements this occurs once when the scene is created, and the mesh drawing state is added to a static draw list. Primitives are grouped by material, vertex factory to reduce OpenGL state changes
22 Renders all objects with opaque materials and combines lighting, to scene color in HDR / linear space Dynamic directional and point lights (per-pixel) Static distance field shadows Dynamic CSM shadows Lightmaps (from stationary lights) Skylight Reflections
23 Drawing order depends on device Draw without any reordering Default option for ImgTec, which has Hidden Surface Removal Reorder meshes front to back in each list Minimizes state change Reorder meshes front to back across all lists Minimizes overdraw Default option for non-imgtec GPUs Can be tweaked depending on your content r.forwardbasepasssort = x
24 Requires scene depth fetch Implementation depends on supported extensions GL_ARM_shader_framebuffer_fetch_depth_stencil GL_EXT_shader_framebuffer_fetch GL_OES_depth_texture depth buffer resolve Supports Receives Decals flag Stencil operations Does not support lighting
25 Similar to deferred decals Modulated Shadows do not blend well with static lighting Static + CSM is a better option (4.12+)
26 Draw primitives with non-opaque blend mode using the same shaders as the Base Pass Does not write to depth buffer Refraction supported Requires full copy of scene color
27 Only supported when HDR is enabled Requires several passes depending on what effects are used Depth of Field Custom PostProcess Materials Tonemapper pass at the end Maps HDR color to 8-bit per-channel RGB and writes it to backbuffer Bloom is also applied at this stage Filmic tonemapper (4.13+) r.tonemapperfilm=1 is the default for 4.15 r.mobile.tonemapperfilm=0 is the default for 4.16
28 Draw UI elements directly to backbuffer Slate / Widget Blueprints Canvas Swap backbuffer
29 The mobile render uses the same physically-based material system as UE4 on desktop and console platforms.
30 Material graph generates HLSL functions Combined with hand-written HLSL source code for our Physically Based lighting model We use this directly on PC and Xbox One half3 GetMaterialBaseColor(FMaterialPixelParameters Parameters) { MaterialFloat3 Local5 = ( Material.VectorExpressions[0].rgb); MaterialFloat4 Local6 = ProcessMaterialColorTextureLookup(Texture2DSample(Material.Texture2D_1, Material.Texture2D_1Sampler, Parameters.TexCoords[0].xy)); MaterialFloat3 Local7 = (Local6.rgb + MaterialFloat3( , , )); MaterialFloat Local8 = dot(local6.rgb, MaterialFloat3( , , )); MaterialFloat Local9 = (Local ); MaterialFloat Local10 = (Local9 * ); MaterialFloat Local11 = min(max(local10, ), ); MaterialFloat Local12 = (Local8 + dot(materialfloat3( , , ), MaterialFloat3( , , ))); MaterialFloat Local13 = (dot(materialfloat3( , , ), MaterialFloat3( , , )) / Local12); MaterialFloat Local14 = (Local ); MaterialFloat Local15 = (Local14 * ); MaterialFloat Local16 = (Local ); MaterialFloat Local17 = min(max(local16, ), ); MaterialFloat Local18 = (Local11 * Local17); MaterialFloat3 Local19 = lerp(local6.rgb, Local7, MaterialFloat(Local18)); MaterialFloat3 Local20 = (Local19 * Local5); return Local20;; }
31 For mobile, we cross-compile HLSL to GLSL Version and GLSL extensions are enabled using the preprocessor #version 300 es out mediump vec4 out_fragcolor; uniform highp samplercube ps4; uniform highp sampler2d ps0; uniform highp sampler2d ps1; uniform highp sampler2d ps2; varying highp vec4 var_texcoord0; varying highp vec4 var_texcoord1; varying highp vec4 var_texcoord2; varying vec4 var_texcoord7; void main() { vec4 t0; vec4 t1; t1.xyzw = vec4(gl_fragcoord); t0.xyzw = t1; vec4 t2; highp vec4 t3; t3.xy = var_texcoord4.zw; t3.zw = var_texcoord5.zw; vec3 t4; vec3 t5; t5.xyz = vec3(t3.xyz); t4.xyz = t5; highp vec4 t6;
32 Movable Directional Light + Cascaded Shadow Map shadowing Editor setup Directional Light Component, set Mobility to Movable (1 supported) Set Dynamic Shadow Distance Movable Light Set Num Dynamic Shadow Cascades Advantages Lighting is fully dynamic and can be changed at runtime Reduced memory usage and package size as there is no precomputed lighting data Disadvantages All objects in the scene, static and dynamic, must be rendered into the CSM Extra draw calls and CSM generation cost
33 Simplest lighting setup for mobile Direct and Specular lighting calculated per pixel Intensity and color can be changed at runtime, but not direction Editor setup Directional Light Component, set Mobility to Stationary (1 supported) Set Cast Dynamic Shadows to False Advantages Fastest to render High quality distance-field shadows Disadvantages Light direction cannot be changed at runtime Only supports modulated player shadows Memory and package size footprint for precomputed shadowmaps
34 Optimized in version 4.13 No longer necessary to flag each object that will receive CSM shadows from players Editor setup Directional Light Component, set Mobility to Stationary (1 supported) Set Dynamic Shadow Distance Stationary Light Set Num Dynamic Shadow Cascades Disable Inset Shadows For Movable Objects Advantages Static geometry shadowed statically with distance field shadows Dynamic player shadows blend nicely with static shadows Disadvantages CSM generation cost (but only for dynamic objects) Base pass shaders require an extra texture sampler
35 Advantages High resolution for player shadows Works with static lighting Disadvantages Each object renders its own shadow map and has its own frustum Shadows do not blend nicely with the scene s static shadowing
36 Independent of other lighting setup Up to 4 lights are supported per object / surface Set Max Movable Point Lights > 0 in Project Settings, Engine Rendering Advantages Rendered as part of the base pass so no extra draw calls Disadvantages Extra shader permutations are generated
37 Lighting channels now supported on mobile (4.13) Limitations: only one Stationary or Movable Directional light can affect each object
38 Much more flexible for artists to achieve the look they want Enable with console var, eg by device profile r.tonemapperfilm=1 ( ) r.mobile.tonemapperfilm=1 (4.16+) Warning: enabled by default in 4.15! Has extra cost so only recommended on high-end devices
39 Custom Post Process (new in 4.13) Shader built using the material system
40 Custom Depth (new in 4.14) Selected objects can be rendered into a separate depth buffer This can be sampled in Custom Post Process
41 Custom Stencil (new in 4.15) On PC we the material can sample the value from the stencil buffer Not possible on mobile GPUs Instead we render out to a separate color target
42
43 Minimal APK/IPA + DLC Packaging Wizard (4.13) Small download from App Store / Google Play Only UI to download content Download game content and patches from the cloud Force user content updates
44 Mobile Patch Utilities Blueprint Library (4.14) Control download and install process Progress bar & error handling Storage space Wi-Fi available etc
45 Smaller Android executable size changes to reduce the code generated by the compiler and allow the linker to remove unused code UI Widget Blueprint performance improvements Android runtime permissions
46 Faster iteration time on Android Improved in-editor mobile preview Improved ios development from PC Easier remote toolchain setup Log output output
47
Bringing AAA graphics to mobile platforms. Niklas Smedberg Senior Engine Programmer, Epic Games
Bringing AAA graphics to mobile platforms Niklas Smedberg Senior Engine Programmer, Epic Games Who Am I A.k.a. Smedis Platform team at Epic Games Unreal Engine 15 years in the industry 30 years of programming
More informationThe Application Stage. The Game Loop, Resource Management and Renderer Design
1 The Application Stage The Game Loop, Resource Management and Renderer Design Application Stage Responsibilities 2 Set up the rendering pipeline Resource Management 3D meshes Textures etc. Prepare data
More informationVulkan Multipass mobile deferred done right
Vulkan Multipass mobile deferred done right Hans-Kristian Arntzen Marius Bjørge Khronos 5 / 25 / 2017 Content What is multipass? What multipass allows... A driver to do versus MRT Developers to do Transient
More informationNext-gen Mobile Rendering
Next-gen Mobile Rendering Niklas Smedberg Senior Engine Programmer, Epic Games Timothy Lottes Senior Rendering Programmer, Epic Games Introduction Niklas Smedberg, a.k.a. Smedis 17 years in the game industry
More informationBroken Age's Approach to Scalability. Oliver Franzke Lead Programmer, Double Fine Productions
Broken Age's Approach to Scalability Oliver Franzke Lead Programmer, Double Fine Productions Content Introduction Platform diversity Game assets Characters Environments Shaders Who am I? Lead Programmer
More informationIntroduction to OpenGL ES 3.0
Introduction to OpenGL ES 3.0 Eisaku Ohbuchi Digital Media Professionals Inc. 2012 Digital Media Professionals Inc. All rights reserved. 12/Sep/2012 Page 1 Agenda DMP overview (quick!) OpenGL ES 3.0 update
More informationGUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON
Deferred Rendering in Killzone 2 Michal Valient Senior Programmer, Guerrilla Talk Outline Forward & Deferred Rendering Overview G-Buffer Layout Shader Creation Deferred Rendering in Detail Rendering Passes
More informationDave Shreiner, ARM March 2009
4 th Annual Dave Shreiner, ARM March 2009 Copyright Khronos Group, 2009 - Page 1 Motivation - What s OpenGL ES, and what can it do for me? Overview - Lingo decoder - Overview of the OpenGL ES Pipeline
More informationAchieving Console Quality Games on Mobile
Achieving Console Quality Games on Mobile Peter Harris, Senior Principal Engineer, ARM Unai Landa, CTO, Digital Legends Jon Kirkham, Staff Engineer, ARM GDC 2017 Agenda Premium smartphone in 2017 ARM Cortex
More informationReal-Time Rendering (Echtzeitgraphik) Michael Wimmer
Real-Time Rendering (Echtzeitgraphik) Michael Wimmer wimmer@cg.tuwien.ac.at Walking down the graphics pipeline Application Geometry Rasterizer What for? Understanding the rendering pipeline is the key
More informationDeferred Rendering Due: Wednesday November 15 at 10pm
CMSC 23700 Autumn 2017 Introduction to Computer Graphics Project 4 November 2, 2017 Deferred Rendering Due: Wednesday November 15 at 10pm 1 Summary This assignment uses the same application architecture
More informationVulkan on Mobile. Daniele Di Donato, ARM GDC 2016
Vulkan on Mobile Daniele Di Donato, ARM GDC 2016 Outline Vulkan main features Mapping Vulkan Key features to ARM CPUs Mapping Vulkan Key features to ARM Mali GPUs 4 Vulkan Good match for mobile and tiling
More informationMali Developer Resources. Kevin Ho ARM Taiwan FAE
Mali Developer Resources Kevin Ho ARM Taiwan FAE ARM Mali Developer Tools Software Development SDKs for OpenGL ES & OpenCL OpenGL ES Emulators Shader Development Studio Shader Library Asset Creation Texture
More informationOptimizing and Profiling Unity Games for Mobile Platforms. Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June
Optimizing and Profiling Unity Games for Mobile Platforms Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June 1 Agenda Introduction ARM and the presenter Preliminary knowledge
More informationReal - Time Rendering. Graphics pipeline. Michal Červeňanský Juraj Starinský
Real - Time Rendering Graphics pipeline Michal Červeňanský Juraj Starinský Overview History of Graphics HW Rendering pipeline Shaders Debugging 2 History of Graphics HW First generation Second generation
More informationNext Generation OpenGL Neil Trevett Khronos President NVIDIA VP Mobile Copyright Khronos Group Page 1
Next Generation OpenGL Neil Trevett Khronos President NVIDIA VP Mobile Ecosystem @neilt3d Copyright Khronos Group 2015 - Page 1 Copyright Khronos Group 2015 - Page 2 Khronos Connects Software to Silicon
More informationMobile HW and Bandwidth
Your logo on white Mobile HW and Bandwidth Andrew Gruber Qualcomm Technologies, Inc. Agenda and Goals Describe the Power and Bandwidth challenges facing Mobile Graphics Describe some of the Power Saving
More informationPowerVR Performance Recommendations. The Golden Rules
PowerVR Performance Recommendations Public. This publication contains proprietary information which is subject to change without notice and is supplied 'as is' without warranty of any kind. Redistribution
More informationLecture 13: OpenGL Shading Language (GLSL)
Lecture 13: OpenGL Shading Language (GLSL) COMP 175: Computer Graphics April 18, 2018 1/56 Motivation } Last week, we discussed the many of the new tricks in Graphics require low-level access to the Graphics
More informationVulkan 1.1 March Copyright Khronos Group Page 1
Vulkan 1.1 March 2018 Copyright Khronos Group 2018 - Page 1 Vulkan 1.1 Launch and Ongoing Momentum Strengthening the Ecosystem Improved developer tools (SDK, validation/debug layers) More rigorous conformance
More informationGraphics Hardware. Graphics Processing Unit (GPU) is a Subsidiary hardware. With massively multi-threaded many-core. Dedicated to 2D and 3D graphics
Why GPU? Chapter 1 Graphics Hardware Graphics Processing Unit (GPU) is a Subsidiary hardware With massively multi-threaded many-core Dedicated to 2D and 3D graphics Special purpose low functionality, high
More informationMobile graphics API Overview
Mobile graphics API Overview Michael Doggett Department of Computer Science Lund University 2009 Michael Doggett and Tomas Akenine-Möller 1 Register Please check to see if your name is on the list, if
More informationIntroduction to Shaders.
Introduction to Shaders Marco Benvegnù hiforce@gmx.it www.benve.org Summer 2005 Overview Rendering pipeline Shaders concepts Shading Languages Shading Tools Effects showcase Setup of a Shader in OpenGL
More informationOptimizing Mobile Games with Gameloft and ARM
Optimizing Mobile Games with Gameloft and ARM Stacy Smith Senior Software Engineer, ARM Adrian Voinea World Android Technical Lead, Gameloft Victor Bernot Lead Visual Effects Developer, Gameloft 1 ARM
More informationOptimizing Mobile Games with ARM. Solo Chang Staff Applications Engineer, ARM
Optimizing Mobile Games with ARM Solo Chang Staff Applications Engineer, ARM 1 ARM Ecosystem My first role in ARM was in Developer Relations Developers came to us to ask for help We couldn t share their
More informationMAXIS-mizing Darkspore*: A Case Study of Graphic Analysis and Optimizations in Maxis Deferred Renderer
MAXIS-mizing Darkspore*: A Case Study of Graphic Analysis and Optimizations in Maxis Deferred Renderer A New Gaming Experience Made Possible With Processor Graphics Released in early 2011, the 2nd Generation
More informationPowerVR Series5. Architecture Guide for Developers
Public Imagination Technologies PowerVR Series5 Public. This publication contains proprietary information which is subject to change without notice and is supplied 'as is' without warranty of any kind.
More informationCould you make the XNA functions yourself?
1 Could you make the XNA functions yourself? For the second and especially the third assignment, you need to globally understand what s going on inside the graphics hardware. You will write shaders, which
More informationMXwendler Fragment Shader Development Reference Version 1.0
MXwendler Fragment Shader Development Reference Version 1.0 This document describes the MXwendler fragmentshader interface. You will learn how to write shaders using the GLSL language standards and the
More informationAchieving High-performance Graphics on Mobile With the Vulkan API
Achieving High-performance Graphics on Mobile With the Vulkan API Marius Bjørge Graphics Research Engineer GDC 2016 Agenda Overview Command Buffers Synchronization Memory Shaders and Pipelines Descriptor
More informationEvolution of GPUs Chris Seitz
Evolution of GPUs Chris Seitz Overview Concepts: Real-time rendering Hardware graphics pipeline Evolution of the PC hardware graphics pipeline: 1995-1998: Texture mapping and z-buffer 1998: Multitexturing
More informationWorking with Metal Overview
Graphics and Games #WWDC14 Working with Metal Overview Session 603 Jeremy Sandmel GPU Software 2014 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission
More informationPorting Roblox to Vulkan. Arseny
Porting Roblox to Vulkan Arseny Kapoulkine @zeuxcg 1 What is Roblox? Online multiplayer game creation platform All content is user generated Windows, macos, ios, Android, Xbox One 50M+ MAU, 1.5M+ CCU 2
More informationCopyright Khronos Group Page 1
Gaming Market Briefing Overview of APIs GDC March 2016 Neil Trevett Khronos President NVIDIA Vice President Developer Ecosystem ntrevett@nvidia.com @neilt3d Copyright Khronos Group 2016 - Page 1 Copyright
More informationHi everyone! My name is Niklas and I ve been working at EA for the last 2.5 years. My main responsibility there have been to bring up the graphics
Hi everyone! My name is Niklas and I ve been working at EA for the last 2.5 years. My main responsibility there have been to bring up the graphics side of the Frostbite engine on mobile devices. This talk
More informationProfiling and Debugging Games on Mobile Platforms
Profiling and Debugging Games on Mobile Platforms Lorenzo Dal Col Senior Software Engineer, Graphics Tools Gamelab 2013, Barcelona 26 th June 2013 Agenda Introduction to Performance Analysis with ARM DS-5
More informationMore frames per second. Alex Kan and Jean-François Roy GPU Software
More frames per second Alex Kan and Jean-François Roy GPU Software 2 OpenGL ES Analyzer Tuning the graphics pipeline Analyzer demo 3 Developer preview Jean-François Roy GPU Software Developer Technologies
More informationMali Demos: Behind the Pixels. Stacy Smith
Mali Demos: Behind the Pixels Stacy Smith Mali Graphics: Behind the demos Mali Demo Team: Doug Day Stacy Smith (Me) Sylwester Bala Roberto Lopez Mendez PHOTOGRAPH UNAVAILABLE These days I spend more time
More informationProspects for a more robust, simpler and more efficient shader cross-compilation pipeline in Unity with SPIR-V
Prospects for a more robust, simpler and more efficient shader cross-compilation pipeline in Unity with SPIR-V 2015/04/14 - Christophe Riccio, OpenGL Democratizing games development Monument Valley by
More informationLecture 9: Deferred Shading. Visual Computing Systems CMU , Fall 2013
Lecture 9: Deferred Shading Visual Computing Systems The course so far The real-time graphics pipeline abstraction Principle graphics abstractions Algorithms and modern high performance implementations
More informationChapter Answers. Appendix A. Chapter 1. This appendix provides answers to all of the book s chapter review questions.
Appendix A Chapter Answers This appendix provides answers to all of the book s chapter review questions. Chapter 1 1. What was the original name for the first version of DirectX? B. Games SDK 2. Which
More informationOpenGL Status - November 2013 G-Truc Creation
OpenGL Status - November 2013 G-Truc Creation Vendor NVIDIA AMD Intel Windows Apple Release date 02/10/2013 08/11/2013 30/08/2013 22/10/2013 Drivers version 331.10 beta 13.11 beta 9.2 10.18.10.3325 MacOS
More informationCopyright Khronos Group, Page Graphic Remedy. All Rights Reserved
Avi Shapira Graphic Remedy Copyright Khronos Group, 2009 - Page 1 2004 2009 Graphic Remedy. All Rights Reserved Debugging and profiling 3D applications are both hard and time consuming tasks Companies
More informationCMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker
CMSC427 Advanced shading getting global illumination by local methods Credit: slides Prof. Zwicker Topics Shadows Environment maps Reflection mapping Irradiance environment maps Ambient occlusion Reflection
More informationDesigning a Modern GPU Interface
Designing a Modern GPU Interface Brooke Hodgman ( @BrookeHodgman) http://tiny.cc/gpuinterface How to make a wrapper for D3D9/11/12, GL2/3/4, GL ES2/3, Metal, Mantle, Vulkan, GNM & GCM without going (completely)
More informationCS GPU and GPGPU Programming Lecture 7: Shading and Compute APIs 1. Markus Hadwiger, KAUST
CS 380 - GPU and GPGPU Programming Lecture 7: Shading and Compute APIs 1 Markus Hadwiger, KAUST Reading Assignment #4 (until Feb. 23) Read (required): Programming Massively Parallel Processors book, Chapter
More informationCS GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1. Markus Hadwiger, KAUST
CS 380 - GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1 Markus Hadwiger, KAUST Reading Assignment #2 (until Feb. 17) Read (required): GLSL book, chapter 4 (The OpenGL Programmable
More informationDEFERRED RENDERING STEFAN MÜLLER ARISONA, ETH ZURICH SMA/
DEFERRED RENDERING STEFAN MÜLLER ARISONA, ETH ZURICH SMA/2013-11-04 DEFERRED RENDERING? CONTENTS 1. The traditional approach: Forward rendering 2. Deferred rendering (DR) overview 3. Example uses of DR:
More informationRSX Best Practices. Mark Cerny, Cerny Games David Simpson, Naughty Dog Jon Olick, Naughty Dog
RSX Best Practices Mark Cerny, Cerny Games David Simpson, Naughty Dog Jon Olick, Naughty Dog RSX Best Practices About libgcm Using the SPUs with the RSX Brief overview of GCM Replay December 7 th, 2004
More informationIntroduction to the Direct3D 11 Graphics Pipeline
Introduction to the Direct3D 11 Graphics Pipeline Kevin Gee - XNA Developer Connection Microsoft Corporation 2008 NVIDIA Corporation. Direct3D 11 focuses on Key Takeaways Increasing scalability, Improving
More informationPipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11
Pipeline Operations CS 4620 Lecture 11 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives to pixels RASTERIZATION
More informationDominic Filion, Senior Engineer Blizzard Entertainment. Rob McNaughton, Lead Technical Artist Blizzard Entertainment
Dominic Filion, Senior Engineer Blizzard Entertainment Rob McNaughton, Lead Technical Artist Blizzard Entertainment Screen-space techniques Deferred rendering Screen-space ambient occlusion Depth of Field
More informationOptimizing DirectX Graphics. Richard Huddy European Developer Relations Manager
Optimizing DirectX Graphics Richard Huddy European Developer Relations Manager Some early observations Bear in mind that graphics performance problems are both commoner and rarer than you d think The most
More informationSqueezing Performance out of your Game with ATI Developer Performance Tools and Optimization Techniques
Squeezing Performance out of your Game with ATI Developer Performance Tools and Optimization Techniques Jonathan Zarge, Team Lead Performance Tools Richard Huddy, European Developer Relations Manager ATI
More informationShaders. Slide credit to Prof. Zwicker
Shaders Slide credit to Prof. Zwicker 2 Today Shader programming 3 Complete model Blinn model with several light sources i diffuse specular ambient How is this implemented on the graphics processor (GPU)?
More informationThe Making of Seemore WebGL. Will Eastcott, CEO, PlayCanvas
The Making of Seemore WebGL Will Eastcott, CEO, PlayCanvas 1 What is Seemore WebGL? A mobile-first, physically rendered game environment powered by HTML5 and WebGL 2 PlayCanvas: Powering Seemore WebGL
More informationX. GPU Programming. Jacobs University Visualization and Computer Graphics Lab : Advanced Graphics - Chapter X 1
X. GPU Programming 320491: Advanced Graphics - Chapter X 1 X.1 GPU Architecture 320491: Advanced Graphics - Chapter X 2 GPU Graphics Processing Unit Parallelized SIMD Architecture 112 processing cores
More informationARM Mali GPU OpenGL ES 3.x
ARM Mali GPU OpenGL ES 3.x Version 1.0 Developer Guide Copyright 2016 ARM Limited or its affiliates. All rights reserved. ARM 100587_0100_00_en ARM Mali GPU OpenGL ES 3.x ARM Mali GPU OpenGL ES 3.x Developer
More informationLecture 2. Shaders, GLSL and GPGPU
Lecture 2 Shaders, GLSL and GPGPU Is it interesting to do GPU computing with graphics APIs today? Lecture overview Why care about shaders for computing? Shaders for graphics GLSL Computing with shaders
More informationSiggraph Agenda. Usability & Productivity. FX Composer 2.5. Usability & Productivity 9/12/2008 9:16 AM
Agenda Shader Debugger Performance Tools A New Generation of Performance Analysis and Shader Authoring Tools Chris Maughan & Jeffrey Kiel Usability & Productivity Increase productivity Refine usability
More informationVulkan API 杨瑜, 资深工程师
Vulkan API 杨瑜, 资深工程师 Vulkan Overview (1/3) Some History ~2011 became apparent that the API is getting in the way - Console Developers programmed GPUs To-the-Metal 2012 Khronos started work on GLCommon
More informationPipeline Operations. CS 4620 Lecture 14
Pipeline Operations CS 4620 Lecture 14 2014 Steve Marschner 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives
More informationSHADER PROGRAMMING. Based on Jian Huang s lecture on Shader Programming
SHADER PROGRAMMING Based on Jian Huang s lecture on Shader Programming What OpenGL 15 years ago could do http://www.neilturner.me.uk/shots/opengl-big.jpg What OpenGL can do now What s Changed? 15 years
More informationUnreal Engine 4: Mobile Graphics on ARM CPU and GPU Architecture
Unreal Engine 4: Mobile Graphics on ARM CPU and GPU Architecture Ray Hwang, Segment Marketing Manager, ARM Niklas Smedberg, Senior Engine Programmer, Epic Games Hessed Choi, Senior Field Applications Engineer,
More informationQuick Shader 0.1 Beta
Quick Shader 0.1 Beta Documentation (last update 2014-07-10) QuickShader is a program that allows you to write and test shaders without creating your own rendering engine. Using this tool you can quickly
More informationCS4621/5621 Fall Computer Graphics Practicum Intro to OpenGL/GLSL
CS4621/5621 Fall 2015 Computer Graphics Practicum Intro to OpenGL/GLSL Professor: Kavita Bala Instructor: Nicolas Savva with slides from Balazs Kovacs, Eston Schweickart, Daniel Schroeder, Jiang Huang
More information1.2.3 The Graphics Hardware Pipeline
Figure 1-3. The Graphics Hardware Pipeline 1.2.3 The Graphics Hardware Pipeline A pipeline is a sequence of stages operating in parallel and in a fixed order. Each stage receives its input from the prior
More informationProgramming Graphics Hardware
Tutorial 5 Programming Graphics Hardware Randy Fernando, Mark Harris, Matthias Wloka, Cyril Zeller Overview of the Tutorial: Morning 8:30 9:30 10:15 10:45 Introduction to the Hardware Graphics Pipeline
More informationUltimate Graphics Performance for DirectX 10 Hardware
Ultimate Graphics Performance for DirectX 10 Hardware Nicolas Thibieroz European Developer Relations AMD Graphics Products Group nicolas.thibieroz@amd.com V1.01 Generic API Usage DX10 designed for performance
More informationEECS 487: Interactive Computer Graphics
EECS 487: Interactive Computer Graphics Lecture 21: Overview of Low-level Graphics API Metal, Direct3D 12, Vulkan Console Games Why do games look and perform so much better on consoles than on PCs with
More informationC P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE. Mikhail Bessmeltsev
C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE UGRAD.CS.UBC.C A/~CS314 Mikhail Bessmeltsev 1 WHAT IS RENDERING? Generating image from a 3D scene 2 WHAT IS RENDERING? Generating image
More informationGLSL Applications: 2 of 2
Administrivia GLSL Applications: 2 of 2 Patrick Cozzi University of Pennsylvania CIS 565 - Spring 2011 Assignment 2 due today 11:59pm on Blackboard Assignment 3 handed out today Due Wednesday, 02/09 at
More informationApplications of Explicit Early-Z Z Culling. Jason Mitchell ATI Research
Applications of Explicit Early-Z Z Culling Jason Mitchell ATI Research Outline Architecture Hardware depth culling Applications Volume Ray Casting Skin Shading Fluid Flow Deferred Shading Early-Z In past
More informationWhy modern versions of OpenGL should be used Some useful API commands and extensions
Michał Radziszewski Why modern versions of OpenGL should be used Some useful API commands and extensions Timer Query EXT Direct State Access (DSA) Geometry Programs Position in pipeline Rendering wireframe
More informationThe Rasterization Pipeline
Lecture 5: The Rasterization Pipeline (and its implementation on GPUs) Computer Graphics CMU 15-462/15-662, Fall 2015 What you know how to do (at this point in the course) y y z x (w, h) z x Position objects
More informationMobile Application Programing: Android. OpenGL Operation
Mobile Application Programing: Android OpenGL Operation Activities Apps are composed of activities Activities are self-contained tasks made up of one screen-full of information Activities start one another
More informationSaving the Planet Designing Low-Power, Low-Bandwidth GPUs
Saving the Planet Designing Low-Power, Low-Bandwidth GPUs Alan Tsai Business Development Manager ARM Saving the Planet? Really? Photo courtesy of NASA. 2 Mobile GPU design is all about power It s not about
More informationOpenGL ES 2.0 : Start Developing Now. Dan Ginsburg Advanced Micro Devices, Inc.
OpenGL ES 2.0 : Start Developing Now Dan Ginsburg Advanced Micro Devices, Inc. Agenda OpenGL ES 2.0 Brief Overview Tools OpenGL ES 2.0 Emulator RenderMonkey w/ OES 2.0 Support OpenGL ES 2.0 3D Engine Case
More informationTutorial on GPU Programming #2. Joong-Youn Lee Supercomputing Center, KISTI
Tutorial on GPU Programming #2 Joong-Youn Lee Supercomputing Center, KISTI Contents Graphics Pipeline Vertex Programming Fragment Programming Introduction to Cg Language Graphics Pipeline The process to
More informationProgrammable GPUs. Real Time Graphics 11/13/2013. Nalu 2004 (NVIDIA Corporation) GeForce 6. Virtua Fighter 1995 (SEGA Corporation) NV1
Programmable GPUs Real Time Graphics Virtua Fighter 1995 (SEGA Corporation) NV1 Dead or Alive 3 2001 (Tecmo Corporation) Xbox (NV2A) Nalu 2004 (NVIDIA Corporation) GeForce 6 Human Head 2006 (NVIDIA Corporation)
More informationRenderMonkey 1.6. Natalya Tatarchuk ATI Research
RenderMonkey 1.6 Natalya Tatarchuk ATI Research Game Developer Conference, San Francisco, CA, March 2005 Overview > What is RenderMonkey? > What s New In RenderMonkey 1.6? 2 What is RenderMonkey? > Shader
More informationRendering Structures Analyzing modern rendering on mobile
Rendering Structures Analyzing modern rendering on mobile 2018 Arm Limited Hans-Kristian Arntzen 2018-08-16 SIGGRAPH 2018 Content 1 2 3 4 5 Motivation Scene and lights Rendering structures overview Benchmark
More informationReal - Time Rendering. Pipeline optimization. Michal Červeňanský Juraj Starinský
Real - Time Rendering Pipeline optimization Michal Červeňanský Juraj Starinský Motivation Resolution 1600x1200, at 60 fps Hw power not enough Acceleration is still necessary 3.3.2010 2 Overview Application
More informationGPU Quality and Application Portability
GPU Quality and Application Portability Kalle Raita Senior Software Architect, drawelements Copyright Khronos Group, 2010 - Page 1 drawelements Ltd. drawelements Based in Helsinki, Finland Founded in 2008
More informationUnderstanding M3G 2.0 and its Effect on Producing Exceptional 3D Java-Based Graphics. Sean Ellis Consultant Graphics Engineer ARM, Maidenhead
Understanding M3G 2.0 and its Effect on Producing Exceptional 3D Java-Based Graphics Sean Ellis Consultant Graphics Engineer ARM, Maidenhead Introduction M3G 1.x Recap ARM M3G Integration M3G 2.0 Update
More informationAdaptive Point Cloud Rendering
1 Adaptive Point Cloud Rendering Project Plan Final Group: May13-11 Christopher Jeffers Eric Jensen Joel Rausch Client: Siemens PLM Software Client Contact: Michael Carter Adviser: Simanta Mitra 4/29/13
More informationCOMP371 COMPUTER GRAPHICS
COMP371 COMPUTER GRAPHICS SESSION 12 PROGRAMMABLE SHADERS Announcement Programming Assignment #2 deadline next week: Session #7 Review of project proposals 2 Lecture Overview GPU programming 3 GPU Pipeline
More informationPress Briefing SIGGRAPH 2015 Neil Trevett Khronos President NVIDIA Vice President Mobile Ecosystem. Copyright Khronos Group Page 1
Press Briefing SIGGRAPH 2015 Neil Trevett Khronos President NVIDIA Vice President Mobile Ecosystem Copyright Khronos Group 2015 - Page 1 Khronos Connects Software to Silicon Open Consortium creating ROYALTY-FREE,
More informationPress Briefing SIGGRAPH 2015 Neil Trevett Khronos President NVIDIA Vice President Mobile Ecosystem. Copyright Khronos Group Page 1
Press Briefing SIGGRAPH 2015 Neil Trevett Khronos President NVIDIA Vice President Mobile Ecosystem Copyright Khronos Group 2015 - Page 1 Khronos Connects Software to Silicon Open Consortium creating ROYALTY-FREE,
More informationMikkel Gjøl Graphics
Mikkel Gjøl Graphics Programmer @pixelmager PC rendering overview state, shaders, occlusion queries virtual texturing bindless vertex attributes debugging OpenGL lessons learned Founded 2001 Mod team gone
More informationNVIDIA Parallel Nsight. Jeff Kiel
NVIDIA Parallel Nsight Jeff Kiel Agenda: NVIDIA Parallel Nsight Programmable GPU Development Presenting Parallel Nsight Demo Questions/Feedback Programmable GPU Development More programmability = more
More informationShader Series Primer: Fundamentals of the Programmable Pipeline in XNA Game Studio Express
Shader Series Primer: Fundamentals of the Programmable Pipeline in XNA Game Studio Express Level: Intermediate Area: Graphics Programming Summary This document is an introduction to the series of samples,
More informationBifrost - The GPU architecture for next five billion
Bifrost - The GPU architecture for next five billion Hessed Choi Senior FAE / ARM ARM Tech Forum June 28 th, 2016 Vulkan 2 ARM 2016 What is Vulkan? A 3D graphics API for the next twenty years Logical successor
More informationSIGGRAPH Briefing August 2014
Copyright Khronos Group 2014 - Page 1 SIGGRAPH Briefing August 2014 Neil Trevett VP Mobile Ecosystem, NVIDIA President, Khronos Copyright Khronos Group 2014 - Page 2 Significant Khronos API Ecosystem Advances
More informationSpring 2009 Prof. Hyesoon Kim
Spring 2009 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on
More informationGLSL 1: Basics. J.Tumblin-Modified SLIDES from:
GLSL 1: Basics J.Tumblin-Modified SLIDES from: Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts Director, Arts Technology Center University of New Mexico and
More informationPowerVR Performance Recommendations. The Golden Rules
PowerVR Performance Recommendations Copyright Imagination Technologies Limited. All Rights Reserved. This publication contains proprietary information which is subject to change without notice and is supplied
More informationWebGL (Web Graphics Library) is the new standard for 3D graphics on the Web, designed for rendering 2D graphics and interactive 3D graphics.
About the Tutorial WebGL (Web Graphics Library) is the new standard for 3D graphics on the Web, designed for rendering 2D graphics and interactive 3D graphics. This tutorial starts with a basic introduction
More informationGrafica Computazionale: Lezione 30. Grafica Computazionale. Hiding complexity... ;) Introduction to OpenGL. lezione30 Introduction to OpenGL
Grafica Computazionale: Lezione 30 Grafica Computazionale lezione30 Introduction to OpenGL Informatica e Automazione, "Roma Tre" May 20, 2010 OpenGL Shading Language Introduction to OpenGL OpenGL (Open
More informationCS427 Multicore Architecture and Parallel Computing
CS427 Multicore Architecture and Parallel Computing Lecture 6 GPU Architecture Li Jiang 2014/10/9 1 GPU Scaling A quiet revolution and potential build-up Calculation: 936 GFLOPS vs. 102 GFLOPS Memory Bandwidth:
More information