Mali Demos: Behind the Pixels. Stacy Smith

Similar documents
Deferred Rendering Due: Wednesday November 15 at 10pm

Bringing AAA graphics to mobile platforms. Niklas Smedberg Senior Engine Programmer, Epic Games

Profiling and Debugging Games on Mobile Platforms

Adaptive Point Cloud Rendering

CHAPTER 1 Graphics Systems and Models 3

E.Order of Operations

Optimizing and Profiling Unity Games for Mobile Platforms. Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer

Pipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11

The Rasterization Pipeline

GUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON

Buffers, Textures, Compositing, and Blending. Overview. Buffers. David Carr Virtual Environments, Fundamentals Spring 2005 Based on Slides by E.

DEFERRED RENDERING STEFAN MÜLLER ARISONA, ETH ZURICH SMA/

Pipeline Operations. CS 4620 Lecture 14

Spring 2009 Prof. Hyesoon Kim

CS451Real-time Rendering Pipeline

Efficient and Scalable Shading for Many Lights

Rendering Objects. Need to transform all geometry then

Building scalable 3D applications. Ville Miettinen Hybrid Graphics

Interactive Cloth Simulation. Matthias Wloka NVIDIA Corporation

Vulkan Multipass mobile deferred done right

Rasterization Overview

Computer Graphics (CS 543) Lecture 10: Normal Maps, Parametrization, Tone Mapping

Spring 2011 Prof. Hyesoon Kim

Lets assume each object has a defined colour. Hence our illumination model is looks unrealistic.

OpenGl Pipeline. triangles, lines, points, images. Per-vertex ops. Primitive assembly. Texturing. Rasterization. Per-fragment ops.

Mali Developer Resources. Kevin Ho ARM Taiwan FAE

LPGPU Workshop on Power-Efficient GPU and Many-core Computing (PEGPUM 2014)

Optimizing Mobile Games with Gameloft and ARM

2.11 Particle Systems

Chapter 7 - Light, Materials, Appearance

Surface Rendering. Surface Rendering

Orthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015

The F-Buffer: A Rasterization-Order FIFO Buffer for Multi-Pass Rendering. Bill Mark and Kekoa Proudfoot. Stanford University

The Shadow Rendering Technique Based on Local Cubemaps

The Graphics Pipeline

TSBK03 Screen-Space Ambient Occlusion

Hardware Accelerated Volume Visualization. Leonid I. Dimitrov & Milos Sramek GMI Austrian Academy of Sciences

Lecture 9: Deferred Shading. Visual Computing Systems CMU , Fall 2013

CS4620/5620: Lecture 14 Pipeline

PowerVR Hardware. Architecture Overview for Developers

CSE528 Computer Graphics: Theory, Algorithms, and Applications

Evolution of GPUs Chris Seitz

Buffers. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015

The Making of Seemore WebGL. Will Eastcott, CEO, PlayCanvas

X. GPU Programming. Jacobs University Visualization and Computer Graphics Lab : Advanced Graphics - Chapter X 1

Applications of Explicit Early-Z Z Culling. Jason Mitchell ATI Research

Virtual Reality for Human Computer Interaction

Mattan Erez. The University of Texas at Austin

General Purpose Computation (CAD/CAM/CAE) on the GPU (a.k.a. Topics in Manufacturing)

Module 13C: Using The 3D Graphics APIs OpenGL ES

Optimizing Mobile Games with ARM. Solo Chang Staff Applications Engineer, ARM

GLSL Applications: 2 of 2

Optimized Effects for Mobile Devices. Ed Plowman, Director of Performance Analysis, ARM Stacy Smith, Senior Software Engineer, ARM

CS 498 VR. Lecture 19-4/9/18. go.illinois.edu/vrlect19

The Application Stage. The Game Loop, Resource Management and Renderer Design

Next-Generation Graphics on Larrabee. Tim Foley Intel Corp

Shaders. Slide credit to Prof. Zwicker

Wednesday, July 24, 13

Graphics Processing Unit Architecture (GPU Arch)

CS 4620 Program 3: Pipeline

Fog example. Fog is atmospheric effect. Better realism, helps determine distances

Interactive Methods in Scientific Visualization

Tutorial on GPU Programming #2. Joong-Youn Lee Supercomputing Center, KISTI

The Rasterization Pipeline

9. Illumination and Shading

Rendering Structures Analyzing modern rendering on mobile

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker

CS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside

COMP environment mapping Mar. 12, r = 2n(n v) v

INF3320 Computer Graphics and Discrete Geometry

3D Rendering Pipeline

GeForce4. John Montrym Henry Moreton

Grafica Computazionale: Lezione 30. Grafica Computazionale. Hiding complexity... ;) Introduction to OpenGL. lezione30 Introduction to OpenGL

Homework #2. Shading, Ray Tracing, and Texture Mapping

Direct Rendering of Trimmed NURBS Surfaces

Working with Metal Overview

Methodology for Lecture. Importance of Lighting. Outline. Shading Models. Brief primer on Color. Foundations of Computer Graphics (Spring 2010)

Computer Graphics. Shadows

Computer Graphics. Lecture 9 Environment mapping, Mirroring

CS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions. The Midterm Exam was given in class on Thursday, October 23, 2008.

Parallelizing Graphics Pipeline Execution (+ Basics of Characterizing a Rendering Workload)

Volume Graphics Introduction

Computergrafik. Matthias Zwicker. Herbst 2010

Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters.

Case 1:17-cv SLR Document 1-3 Filed 01/23/17 Page 1 of 33 PageID #: 60 EXHIBIT C

Computer Graphics (CS 563) Lecture 4: Advanced Computer Graphics Image Based Effects: Part 2. Prof Emmanuel Agu

GLOBAL EDITION. Interactive Computer Graphics. A Top-Down Approach with WebGL SEVENTH EDITION. Edward Angel Dave Shreiner

CIS 536/636 Introduction to Computer Graphics. Kansas State University. CIS 536/636 Introduction to Computer Graphics

CISC 3620 Lecture 7 Lighting and shading. Topics: Exam results Buffers Texture mapping intro Texture mapping basics WebGL texture mapping

Game Architecture. 2/19/16: Rasterization

CS 498 VR. Lecture 20-4/11/18. go.illinois.edu/vrlect20

Getting fancy with texture mapping (Part 2) CS559 Spring Apr 2017

1.2.3 The Graphics Hardware Pipeline

CS 464 Review. Review of Computer Graphics for Final Exam

CS 130 Final. Fall 2015

Lab 9 - Metal and Glass

Lecture 2. Shaders, GLSL and GPGPU

Introduction to 3D Graphics

Could you make the XNA functions yourself?

Transcription:

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 explaining demos than making them Occasionally this includes explaining why we make demos at all

Demos in a Nutshell What are demos for? How are people using our GPU? How would we like them to use the GPU? Behind the Pixels: How did we get here? Where are we going? How are we getting there?

A Good Analogy is Like a Salmon Desktop GPU Mobile GPU

A brief history of graphics Why do we do things the way we do? How did we do them before? The evolution of graphics

Pre-history : Before GPUs Software Rendering: Rasterizing Depth sorting for max overdraw Early shading models Textures Perspective correct textures Depth Buffers Light/shadow maps Blending

Early GPUs : Fixed Function : GLES1.1 Parallelise repeated work: Transform Rasterize Switchable fragment processes Texture Lighting Culling Fog Management of Buffers Color Depth Stencil

Current GPUs : Programmable : Open GLES 2.0 Programmable Vertex Shaders Arbitrary vertex attributes Arbitrary uniform values Arbitrary data interpolated in rasterizer Programmable Fragment Shader Bespoke lighting equations Per fragment procedural coloring Textures as continuous input parameters

So... What s next? OpenGL ES 3.0 Deferred lighting solutions Compute shaders (OpenCL / RenderScript)

Open GL ES 3.0 New kinds of textures 3D textures Shadow textures Seamless cube maps New render targets RGB10A2 Depth buffers New ways of getting info to the render state Instancing Uniform Buffer Objects Sampler Objects

Timbuktu2

Timbuktu 2: Shadow Samplers Render depth from viewpoint of light Use framebuffer as texture map Compare projected texture with distance from light Fragments further from the light than the shadow map are in shadow

Timbuktu 2: Shadow samplers GLES 2.0 Texture Compare: Interpolate Compare GLES 3.0 Shadow Texture Compare: Compare Compare Compare Compare Interpolate

Timbuktu 2: HDR Framebuffers LDR output uses 8 bits per channel White paint Centre of the Sun Using RGB10A2 surfaces quadruples our range 0-255 A shifting window of exposure

Timbuktu 2: Texturing improvements Timbuktu terrain offsets & shading RGBA image updated with gltexsubimage2d Surface normal in RGB Surface offset in A Used twice: Used for vertex modification in foreground Normal mapping in background Offsets into 3D texture map Smooth transition to deeper earth texture

Seemore

Seemore: Seamless cube maps Seamless cube maps used as rotated screen space lookup Give appearance of looking through window Use window texcoords to apply additional effects Shift mip level to blur environment behind dirty glass Add distortion for warped glass Also used to project grime from swinging light bulbs onto surfaces

Seemore: Sampler objects Sampler objects Allow textures to be associated and dissociated......without affecting other aspects of the state

Seemore: Instanced Draw Instancing Renders the same object many times in a single call Reduces vertex bandwidth drawcall CPU load

Deferred Lighting G buffers Raw tile rendering Store per fragment info: Depth Diffuse Normal Combine pixels in post processing Lighting Fog Specular Environment map

Lights Demo In reality lights attenuate based on the inverse square law Surface area of a sphere A = 4πr 2 Light power is divided by this

Lights Demo In reality lights attenuate based on the inverse square law Surface area of a sphere A = 4πr 2 1 0.9 Light Intensity Light power is divided by this In LDR lighting, 1 / 256 0 The light has dropped off in 4.5 units This gives a bounding radius 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

Lights demo Screen space bounding spheres cover influence

Hauntheim

Hauntheim Hauntheim also uses conic hulls Diffuse buffer Depth buffer Normal buffer Lighting hulls Accumulation buffer Final pass

Compute Shaders: OpenCL Reduce bandwidth by keeping things on the GPU Physics modelling Geometry generation Post processing

Flag 2 A rough guide to cloth physics Points modelled with mass & momentum Friction (Entropy) Impulse Inertia Gravity

Flag 2 A rough guide to cloth physics Points modelled with mass & momentum Points joined into strings with springs A lattice of strings makes a cloth. Optionally wider spanning springs Simulate stiffness.

Flag 2

Trollheim

Trollheim Multi resolution grid Grid follows offsets in texture map CL generating random landscape to texture

Trollheim Multi resolution grid Grid follows offsets in texture map CL generating random landscape to texture Constant tree count Tress repositioned as needed Similar system for grass & flowers

Evolution Evolution doesn t tend towards one perfect design New environmental conditions favour different features Similarly, use cases drive technological innovation The only thing needed to change the direction of future GPUs is for someone to pick one up and run with it

Thank You Any Questions? malideveloper.arm.com

Stacy Smith Mali Developer Education Stacy.Smith@arm.com