Optimizing Unity Games for Mobile Platforms. Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August
|
|
|
- Alvin Blankenship
- 9 years ago
- Views:
Transcription
1 Optimizing Unity Games for Mobile Platforms Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August
2 Agenda Introduction The author and ARM Preliminary knowledge Unity Pro, OpenGL ES 3.0 Identify the bottleneck CPU Vertex processing Fragment processing Bandwidth Profiling tools The Unity Profiler (Pro only) ARM DS-5 Streamline Performance Analyzer Example application overview 2
3 Introduction 3
4 The Author Angelo Theodorou Software Engineer Media Processing Division, ARM Ltd. Mali Ecosystem Use-Cases team B.Sc. In Computer Science Studied at Università degli Studi di Napoli Federico II, Italy Worked on the game From Cheese in the past Website: Grand Prize winner at the Samsung Smart App Challenge 2012 Made with Unity Pro 3.5 Responsible for SPen integration and additional programming 4
5 ARM Ltd. Founded at the end of 1990, 13 engineers and a CEO Main goal was to design low power embedded 32bit processors, but to never build them Now more than 2500 employees More than 1000 in Cambridge, the headquarters Hundreds of partners, a fundamental part of our business The business model is based on licenses and royalties ARM technology is everywhere: mobile, embedded, enterprise, home 5
6 Mali GPUs Performance Performance Mali-400 MP First OpenGL ES 2.0 multicore GPU Scalable from 1 to 4 cores Low cost solution with Mali-300 Mali-300 OpenGL ES 2.0 compliant Mali-450 MP 2x Mali-400 performance Scalable up to 8 cores Leading OpenGL ES 2.0 performance Date of production chips Mali-T604 First Midgard architecture product OpenGL ES 3.0 support Scalable to 4 cores Mali-T624 Mali-T628 50% performance uplift OpenGL ES 3.0 support Scalable to 8 cores Mali-T678 High end solution Max compute capability Date of production chips
7 Preliminary knowledge What is a draw call? A call to a function of the underlying API (e.g. OpenGL ES) to draw something on screen What is a fragment? A candidate pixel which may or may not end up on screen for different reasons (e.g. being discarded, being overwritten, etc.) Differences between opaque and transparent render queue Objects in the first queue are rendered in front to back order to make use of depth testing and minimize the overdraw, transparent ones are rendered afterwards in back to front order to preserve correctness What does batching mean? To group similar draw calls in one call operating on the whole data set Why mobile platforms are different? Immediate vs deferred rendering 7
8 Why mobile platforms are different? Desktop platforms Immediate mode: graphics commands are executed when issued Huge amount of bandwidth available between GPU and dedicated video memory (>100 GB/s) No strict limits in size, power consumption or heat generation Mobile platforms Deferred mode: graphics commands are collected by the driver and issued later Tile based: rendering occurs in a small on-chip buffer before being written to memory Bandwidth is severely reduced (~5 GB/s) and transferring data needs a great amount of power Memory is unified and shared between CPU and GPU 8
9 Unity Pro Pro only optimization features: Profiler Level of Detail Occlusion Culling Light Probes Static Batching 9
10 OpenGL ES 3.0 Available with Unity 4.2, Android 4.3 and Mali-T6xx Transform feedback Can write vertex shader output to a buffer object for data reuse ETC2 and EAC texture compression formats Support for RGBA (ETC2) and one/two channels textures (EAC) Occlusion queries Can query the number of samples drawn to determine visibility Geometry instancing Plenty of instances of the same object but with unique properties Primitive restart, Uniform Buffer Objects, Pixel Buffer Objects, Fences, FP/3D/depth textures, Multiple Render Targets, 10
11 Identify the bottleneck 11
12 Identify the bottleneck CPU Too many draw calls Complex scripts or physics Vertex processing Too many vertices Too much computation per vertex Fragment processing Too many fragments, overdraw Too much computation per fragment Bandwidth Big and uncompressed textures High resolution framebuffer 12
13 CPU Bound Too many draw calls Static batching (Unity Pro only) Dynamic batching (automatic) Frustum culling (automatic) Occlusion culling (Unity Pro only) Complex scripts Component caching Pool of objects Reduced Unity GUI calls OnBecomeVisible()/OnBecomeInvisible() Timed coroutines instead of per frame updates Complex physics Compound colliders instead of mesh ones Increased duration of Fixed Timestep (TimeManager) 13
14 Vertex Bound Too many vertices in geometry Remove unnecessary vertices Remove unnecessary hard edges and UV seams Use LOD switching through LODGroup (Unity Pro only) Frustum culling (automatic) Occlusion culling (Unity Pro only) Too much computation per vertex Use the mobile version of Unity shaders whenever you can 16
15 Vertex Bound Level of Detail Use LODGroup to limit vertex count when geometric detail is not strictly needed (very far or small objects) Geometric objects can be replaced by billboards at long distance 17
16 Fragment Bound Overdraw When you are drawing to each pixel on screen more than once Drawing your objects front to back instead of back to front reduces overdraw, thanks to depth testing Limit the amount of transparency in the scene (beware of particles!) Unity has a render mode to show the amount of overdraw per pixel Too much computation per fragment Bake as much as you can (lightmaps, light probes, etc.) Contain the number of per-pixel lights Limit real-time shadows (only high end mobile devices, Unity 4 Pro) Try to avoid full screen post-processing Use the mobile version of Unity shaders whenever you can 18
17 Fragment Bound Overdraw Use the specific render mode to check the overdraw amount 19
18 Bandwidth Bound Use texture compression ETC1 with OpenGL ES 2.0, ETC2 and EAC with OpenGL ES 3.0 ASTC is the new Khronos standard soon to be supported by Unity Use MIP maps More memory but improved image quality (less aliasing artefacts) Optimized memory bandwidth (when sampling from smaller maps) Use 16bits textures where you can cope with reduced detail Use trilinear and anisotropic filtering in moderation 22
19 Bandwidth Bound Mipmaps Use the specific render mode to check mipmaps levels 23
20 Profiling tools 24
21 Unity Profiler It instruments the code to provide detailed per-frame performance data It provides specific data about: CPU Usage Rendering GPU Usage Memory Physics Audio Can profile content running on mobile devices Only available in Unity Pro 25
22 Unity Profiler CPU Usage It shows CPU utilization for rendering, scripts, physics, garbage collection, etc. It shows detailed info about how the time was spent You can enable Deep Profile for additional data about all the function calls occurring in your scripts You can manually instrument specific blocks of code with Profiler.BeginSample()and Profiler.EndSample() 26
23 Unity Profiler Rendering Statistics about the rendering subsystem Draw calls Triangles Vertices The lower pane shows data similar to the rendering statistics window of the editor 27
24 Unity Profiler Memory It shows memory used/reserved on a higher level Unity native allocations Garbage collected Mono managed allocations Graphics and audio total used memory estimation Memory used by the profiler data itself It also shows memory used by assets/objects Textures Meshes Materials Animation clips Audio clips New detailed breakdown since Unity
25 Unity Profiler GPU Usage It shows a contribution breakdown similar to the CPU profiler Rendering of opaque objects Rendering of transparent objects Shadows Deferred shading passes Post processing Not yet available on mobile platforms 29
26 ARM Streamline Performance Analyzer API Events CPU Activity GPU Activity Filmstrip S/W Counters H/W Counters Heatmap 32
27 Example application overview 34
28 Example application overview Composed of seven different scenes Geometry (high vertex count, frustum culling) LOD (using level of detail through LODGroup) Particles (transparent rendering) Texture (MIP mapping and compression) Overdraw (alpha blending and alpha test) Lights (vertex and pixel lighting) Atlas (texture atlas) Most of them are based on a Prefab and Instantiate() All instances are created at once in the beginning and deactivated Number of active instances can adapt to maintain a target FPS value Positioning is made in screen space and based on camera aspect 35
29 Geometry Scene Stressing the vertex units with lots of high poly objects You can set the amount of visible objects or a target FPS value More time spent on rendering (green) Increasing the number of visible objects It is possible to rotate and translate the camera to show frustum culling in action (and lack of occlusion culling) Most of the objects are out of camera view, frustum culling is working Most of the objects are hidden behind front ones, but occlusion culling is not enabled 36
30 LOD Scene LODGroup with three different levels Triangles and Vertices spikes match LOD level switch, draw calls are dependent on frustum culling Switching LOD 37
31 Particles Scene All the rendering is done in the Transparent Queue Geometry Scene Particles Scene Perfect case of geometry batching (one draw call per emitter) 38
32 Texture Scene Compressed texture with MIP maps (right) takes less memory and looks better than uncompressed one (left) Uncompressed, bilinear filtering ETC compressed, trilinear filtering, MIP mapped 39
33 Overdraw Scene Alpha blended quads are rendered in the transparent queue, alpha tested ones in the opaque queue, same performances Overdraw render mode 40
34 Lights Scene (1/2) Per-pixel lighting uses a draw call per light (forward rendering) 4 lights, adding more objects 4x250 lights, 1198 draw calls 3x250 lights, 966 draw calls 2x250 lights, 734 draw calls 250 lights, 502 draw calls No lights, 39 draw calls (232 batched) Per-vertex lighting uses one geometric pass per object, lighting information is a vertex attribute Per-pixel: 4x250 lights, 1198 draw calls Per-vertex: 4x250 lights, 270 draw calls 41
35 Lights Scene (2/2) MeshRenderer.Render takes 5 times the amount of ms when performing per-pixel lighting (one pass per light) Per-pixel lighting Per-vertex lighting 42
36 Atlas Scene (1/2) No Atlas rendering Each instance has its own texture Same material if multiple instances share the same texture One draw call per material (multiple instances) Atlas rendering changing material UV Each instance share the same texture atlas UV coordinates are changed using maintexturescale and maintextureoffset Leads to a new unique material per instance and breaks instancing One draw call per instance Atlas rendering changing mesh UV Each instance share the same texture atlas UV coordinates are changed accessing the instance mesh One draw call for all the instances (single material) 43
37 Atlas Scene (2/2) No Atlas texture 60 FPS 50 draw calls, 374 batched 21 materials Atlas with material UV 40 FPS 408 draw calls, 0 batched 395 materials No batching, lots of materials! Atlas with mesh UV 60 FPS 35 draw calls, 374 batched 21 materials Batching works, less draw calls 44
38 Links Practical Guide to Optimization for Mobiles (Unity Manual) Optimizing Graphics Performance (Unity Manual) Profiler (Unity Manual) ShadowGun: Optimizing for Mobile Sample Level (Unity Blog) Fast Mobile Shaders talk at SIGGRAPH 2011 (Unity Blog) Introducing the new Memory Profiler (Unity Blog) Unity 4.2 has arrived (Unity Blog) OpenGL ES 3.0 Developer Resources (Mali Developer Center) ASTC Texture Compression: ARM Pushes the Envelope in Graphics Technology (ARM Blogs) 45
39 The End 46
How To Understand The Power Of Unity 3D (Pro) And The Power Behind It (Pro/Pro)
Optimizing Unity Games for Mobile Platforms Angelo Theodorou Software Engineer Brains Eden, 28 th June 2013 Agenda Introduction The author ARM Ltd. What do you need to have What do you need to know Identify
Performance Optimization and Debug Tools for mobile games with PlayCanvas
Performance Optimization and Debug Tools for mobile games with PlayCanvas Jonathan Kirkham, Senior Software Engineer, ARM Will Eastcott, CEO, PlayCanvas 1 Introduction Jonathan Kirkham, ARM Worked with
Low power GPUs a view from the industry. Edvard Sørgård
Low power GPUs a view from the industry Edvard Sørgård 1 ARM in Trondheim Graphics technology design centre From 2006 acquisition of Falanx Microsystems AS Origin of the ARM Mali GPUs Main activities today
Optimizing AAA Games for Mobile Platforms
Optimizing AAA Games for Mobile Platforms Niklas Smedberg Senior Engine Programmer, Epic Games Who Am I A.k.a. Smedis Epic Games, Unreal Engine 15 years in the industry 30 years of programming C64 demo
OpenGL Performance Tuning
OpenGL Performance Tuning Evan Hart ATI Pipeline slides courtesy John Spitzer - NVIDIA Overview What to look for in tuning How it relates to the graphics pipeline Modern areas of interest Vertex Buffer
Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg
Image Processing and Computer Graphics Rendering Pipeline Matthias Teschner Computer Science Department University of Freiburg Outline introduction rendering pipeline vertex processing primitive processing
Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group
Shader Model 3.0 Ashu Rege NVIDIA Developer Technology Group Talk Outline Quick Intro GeForce 6 Series (NV4X family) New Vertex Shader Features Vertex Texture Fetch Longer Programs and Dynamic Flow Control
Midgard GPU Architecture. October 2014
Midgard GPU Architecture October 2014 1 The Midgard Architecture HARDWARE EVOLUTION 2 3 Mali GPU Roadmap Mali-T760 High-Level Architecture Distributes tasks to shader cores Efficient mapping of geometry
Dynamic Resolution Rendering
Dynamic Resolution Rendering Doug Binks Introduction The resolution selection screen has been one of the defining aspects of PC gaming since the birth of games. In this whitepaper and the accompanying
GPU Architecture. Michael Doggett ATI
GPU Architecture Michael Doggett ATI GPU Architecture RADEON X1800/X1900 Microsoft s XBOX360 Xenos GPU GPU research areas ATI - Driving the Visual Experience Everywhere Products from cell phones to super
Recent Advances and Future Trends in Graphics Hardware. Michael Doggett Architect November 23, 2005
Recent Advances and Future Trends in Graphics Hardware Michael Doggett Architect November 23, 2005 Overview XBOX360 GPU : Xenos Rendering performance GPU architecture Unified shader Memory Export Texture/Vertex
Image Synthesis. Transparency. computer graphics & visualization
Image Synthesis Transparency Inter-Object realism Covers different kinds of interactions between objects Increasing realism in the scene Relationships between objects easier to understand Shadows, Reflections,
GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series. By: Binesh Tuladhar Clay Smith
GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series By: Binesh Tuladhar Clay Smith Overview History of GPU s GPU Definition Classical Graphics Pipeline Geforce 6 Series Architecture Vertex
Computer Graphics Hardware An Overview
Computer Graphics Hardware An Overview Graphics System Monitor Input devices CPU/Memory GPU Raster Graphics System Raster: An array of picture elements Based on raster-scan TV technology The screen (and
How To Teach Computer Graphics
Computer Graphics Thilo Kielmann Lecture 1: 1 Introduction (basic administrative information) Course Overview + Examples (a.o. Pixar, Blender, ) Graphics Systems Hands-on Session General Introduction http://www.cs.vu.nl/~graphics/
DATA VISUALIZATION OF THE GRAPHICS PIPELINE: TRACKING STATE WITH THE STATEVIEWER
DATA VISUALIZATION OF THE GRAPHICS PIPELINE: TRACKING STATE WITH THE STATEVIEWER RAMA HOETZLEIN, DEVELOPER TECHNOLOGY, NVIDIA Data Visualizations assist humans with data analysis by representing information
Advanced Visual Effects with Direct3D
Advanced Visual Effects with Direct3D Presenters: Mike Burrows, Sim Dietrich, David Gosselin, Kev Gee, Jeff Grills, Shawn Hargreaves, Richard Huddy, Gary McTaggart, Jason Mitchell, Ashutosh Rege and Matthias
Touchstone -A Fresh Approach to Multimedia for the PC
Touchstone -A Fresh Approach to Multimedia for the PC Emmett Kilgariff Martin Randall Silicon Engineering, Inc Presentation Outline Touchstone Background Chipset Overview Sprite Chip Tiler Chip Compressed
Advanced Rendering for Engineering & Styling
Advanced Rendering for Engineering & Styling Prof. B.Brüderlin Brüderlin,, M Heyer 3Dinteractive GmbH & TU-Ilmenau, Germany SGI VizDays 2005, Rüsselsheim Demands in Engineering & Styling Engineering: :
The Evolution of Computer Graphics. SVP, Content & Technology, NVIDIA
The Evolution of Computer Graphics Tony Tamasi SVP, Content & Technology, NVIDIA Graphics Make great images intricate shapes complex optical effects seamless motion Make them fast invent clever techniques
Unreal 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 Jack Porter, Engine Development Lead, Epic Games Korea Hessed Choi, Senior Field Applications
Modern Graphics Engine Design. Sim Dietrich NVIDIA Corporation [email protected]
Modern Graphics Engine Design Sim Dietrich NVIDIA Corporation [email protected] Overview Modern Engine Features Modern Engine Challenges Scene Management Culling & Batching Geometry Management Collision
Silverlight for Windows Embedded Graphics and Rendering Pipeline 1
Silverlight for Windows Embedded Graphics and Rendering Pipeline 1 Silverlight for Windows Embedded Graphics and Rendering Pipeline Windows Embedded Compact 7 Technical Article Writers: David Franklin,
Computer Graphics on Mobile Devices VL SS2010 3.0 ECTS
Computer Graphics on Mobile Devices VL SS2010 3.0 ECTS Peter Rautek Rückblick Motivation Vorbesprechung Spiel VL Framework Ablauf Android Basics Android Specifics Activity, Layouts, Service, Intent, Permission,
Radeon HD 2900 and Geometry Generation. Michael Doggett
Radeon HD 2900 and Geometry Generation Michael Doggett September 11, 2007 Overview Introduction to 3D Graphics Radeon 2900 Starting Point Requirements Top level Pipeline Blocks from top to bottom Command
IV3Dm provides global settings which can be set prior to launching the application and are available through the device settings menu.
ImageVis3D Mobile This software can be used to display and interact with different kinds of datasets - such as volumes or meshes - on mobile devices, which currently includes iphone and ipad. A selection
Graphics Cards and Graphics Processing Units. Ben Johnstone Russ Martin November 15, 2011
Graphics Cards and Graphics Processing Units Ben Johnstone Russ Martin November 15, 2011 Contents Graphics Processing Units (GPUs) Graphics Pipeline Architectures 8800-GTX200 Fermi Cayman Performance Analysis
Overview Motivation and applications Challenges. Dynamic Volume Computation and Visualization on the GPU. GPU feature requests Conclusions
Module 4: Beyond Static Scalar Fields Dynamic Volume Computation and Visualization on the GPU Visualization and Computer Graphics Group University of California, Davis Overview Motivation and applications
Optimization for DirectX9 Graphics. Ashu Rege
Optimization for DirectX9 Graphics Ashu Rege Last Year: Batch, Batch, Batch Moral of the story: Small batches BAD What is a batch Every DrawIndexedPrimitive call is a batch All render, texture, shader,...
GPUs Under the Hood. Prof. Aaron Lanterman School of Electrical and Computer Engineering Georgia Institute of Technology
GPUs Under the Hood Prof. Aaron Lanterman School of Electrical and Computer Engineering Georgia Institute of Technology Bandwidth Gravity of modern computer systems The bandwidth between key components
INTRODUCTION TO RENDERING TECHNIQUES
INTRODUCTION TO RENDERING TECHNIQUES 22 Mar. 212 Yanir Kleiman What is 3D Graphics? Why 3D? Draw one frame at a time Model only once X 24 frames per second Color / texture only once 15, frames for a feature
Introduction to Computer Graphics
Introduction to Computer Graphics Torsten Möller TASC 8021 778-782-2215 [email protected] www.cs.sfu.ca/~torsten Today What is computer graphics? Contents of this course Syllabus Overview of course topics
Programming 3D Applications with HTML5 and WebGL
Programming 3D Applications with HTML5 and WebGL Tony Parisi Beijing Cambridge Farnham Köln Sebastopol Tokyo Table of Contents Preface ix Part I. Foundations 1. Introduction 3 HTML5: A New Visual Medium
How To Build An Engine 4 Mobile Graphics On Anarm V8-A (A64)
Unreal Engine 4: Mobile Graphics on ARM CPU and GPU Architecture Jesse Barker, Principal Software Engineer, ARM Marius Bjørge, Graphics Research Engineer, ARM Niklas Smedis Smedberg, Senior Engine Programmer,
GPGPU Computing. Yong Cao
GPGPU Computing Yong Cao Why Graphics Card? It s powerful! A quiet trend Copyright 2009 by Yong Cao Why Graphics Card? It s powerful! Processor Processing Units FLOPs per Unit Clock Speed Processing Power
Game Development in Android Disgruntled Rats LLC. Sean Godinez Brian Morgan Michael Boldischar
Game Development in Android Disgruntled Rats LLC Sean Godinez Brian Morgan Michael Boldischar Overview Introduction Android Tools Game Development OpenGL ES Marketing Summary Questions Introduction Disgruntled
3D Computer Games History and Technology
3D Computer Games History and Technology VRVis Research Center http://www.vrvis.at Lecture Outline Overview of the last 10-15 15 years A look at seminal 3D computer games Most important techniques employed
Introduction to Game Programming. Steven Osman [email protected]
Introduction to Game Programming Steven Osman [email protected] Introduction to Game Programming Introductory stuff Look at a game console: PS2 Some Techniques (Cheats?) What is a Game? Half-Life 2, Valve
ANDROID DEVELOPER TOOLS TRAINING GTC 2014. Sébastien Dominé, NVIDIA
ANDROID DEVELOPER TOOLS TRAINING GTC 2014 Sébastien Dominé, NVIDIA AGENDA NVIDIA Developer Tools Introduction Multi-core CPU tools Graphics Developer Tools Compute Developer Tools NVIDIA Developer Tools
CSE 564: Visualization. GPU Programming (First Steps) GPU Generations. Klaus Mueller. Computer Science Department Stony Brook University
GPU Generations CSE 564: Visualization GPU Programming (First Steps) Klaus Mueller Computer Science Department Stony Brook University For the labs, 4th generation is desirable Graphics Hardware Pipeline
NVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH [email protected] SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA
NVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH [email protected] SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA GFLOPS 3500 3000 NVPRO-PIPELINE Peak Double Precision FLOPS GPU perf improved
The Car Tutorial Part 1 Creating a Racing Game for Unity
The Car Tutorial Part 1 Creating a Racing Game for Unity Introduction 3 We will show 3 Prerequisites 3 We will not show 4 Part 1: Assembling the Car 5 Adding Collision 6 Shadow settings for the car model
Software Virtual Textures
Software Virtual Textures J.M.P. van Waveren February 25th, 2012 2012, Id Software LLC, a Zenimax Media company. Abstract Modern simulations increasingly require the display of very large, uniquely textured
Development With ARM DS-5. Mervyn Liu FAE Aug. 2015
Development With ARM DS-5 Mervyn Liu FAE Aug. 2015 1 Support for all Stages of Product Development Single IDE, compiler, debug, trace and performance analysis for all stages in the product development
2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT
COMP27112 Computer Graphics and Image Processing 2: Introducing image synthesis [email protected] 1 Introduction In these notes we ll cover: Some orientation how did we get here? Graphics system
GPU-Driven Rendering Pipelines
SIGGRAPH 2015: Advances in Real-Time Rendering in Games GPU-Driven Rendering Pipelines Ulrich Haar, Lead Programmer 3D, Ubisoft Montreal Sebastian Aaltonen, Senior Lead Programmer, RedLynx a Ubisoft Studio
GPU Christmas Tree Rendering. Evan Hart [email protected]
GPU Christmas Tree Rendering Evan Hart [email protected] February 2007 Document Change History Version Date Responsible Reason for Change 0.9 2/20/2007 Ehart Betarelease February 2007 ii Beta Release This
Color correction in 3D environments Nicholas Blackhawk
Color correction in 3D environments Nicholas Blackhawk Abstract In 3D display technologies, as reviewers will say, color quality is often a factor. Depending on the type of display, either professional
Beginning Android 4. Games Development. Mario Zechner. Robert Green
Beginning Android 4 Games Development Mario Zechner Robert Green Contents Contents at a Glance About the Authors Acknowledgments Introduction iv xii xiii xiv Chapter 1: Android, the New Kid on the Block...
Vulkan on NVIDIA GPUs. Piers Daniell, Driver Software Engineer, OpenGL and Vulkan
Vulkan on NVIDIA GPUs Piers Daniell, Driver Software Engineer, OpenGL and Vulkan Who am I? Piers Daniell @piers_daniell Driver Software Engineer - OpenGL, OpenGL ES, Vulkan NVIDIA Khronos representative
Web Based 3D Visualization for COMSOL Multiphysics
Web Based 3D Visualization for COMSOL Multiphysics M. Jüttner* 1, S. Grabmaier 1, W. M. Rucker 1 1 University of Stuttgart Institute for Theory of Electrical Engineering *Corresponding author: Pfaffenwaldring
SAN DIEGO COMMUNITY COLLEGE DISTRICT MESA COLLEGE ASSOCIATE DEGREE COURSE OUTLINE
MULT 130 CIC Approval: 03/12/2015 BOT APPROVAL: 04/16/2015 STATE APPROVAL: EFFECTIVE TERM: Fall 2015 SECTION I SAN DIEGO COMMUNITY COLLEGE DISTRICT MESA COLLEGE ASSOCIATE DEGREE COURSE OUTLINE SUBJECT
Outline. srgb DX9, DX10, XBox 360. Tone Mapping. Motion Blur
Outline srgb DX9, DX10, XBox 360 Tone Mapping Motion Blur srgb Outline srgb & gamma review Alpha Blending: DX9 vs. DX10 & XBox 360 srgb curve: PC vs. XBox 360 srgb Review Terminology: Color textures are
Making Dreams Come True: Global Illumination with Enlighten. Graham Hazel Senior Product Manager Sam Bugden Technical Artist
Making Dreams Come True: Global Illumination with Enlighten Graham Hazel Senior Product Manager Sam Bugden Technical Artist About Me Grew up in Cambridge, UK, with Acorn computers in the house Programmer
Visualizing gem5 via ARM DS-5 Streamline. Dam Sunwoo ([email protected]) ARM R&D December 2012
Visualizing gem5 via ARM DS-5 Streamline Dam Sunwoo ([email protected]) ARM R&D December 2012 1 The Challenge! System-level research and performance analysis becoming ever so complicated! More cores and
Blender Notes. Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine
Blender Notes Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine The Blender Game Engine This week we will have an introduction to the Game Engine build
Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007
Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Questions 2007 INSTRUCTIONS: Answer all questions. Spend approximately 1 minute per mark. Question 1 30 Marks Total
Computer Graphics. Introduction. Computer graphics. What is computer graphics? Yung-Yu Chuang
Introduction Computer Graphics Instructor: Yung-Yu Chuang ( 莊 永 裕 ) E-mail: [email protected] Office: CSIE 527 Grading: a MatchMove project Computer Science ce & Information o Technolog og Yung-Yu Chuang
Realtime 3D Computer Graphics Virtual Reality
Realtime 3D Computer Graphics Virtual Realit Viewing and projection Classical and General Viewing Transformation Pipeline CPU Pol. DL Pixel Per Vertex Texture Raster Frag FB object ee clip normalized device
NVIDIA IndeX Enabling Interactive and Scalable Visualization for Large Data Marc Nienhaus, NVIDIA IndeX Engineering Manager and Chief Architect
SIGGRAPH 2013 Shaping the Future of Visual Computing NVIDIA IndeX Enabling Interactive and Scalable Visualization for Large Data Marc Nienhaus, NVIDIA IndeX Engineering Manager and Chief Architect NVIDIA
GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1
Welcome to GUI! Mechanics 26/02/2014 1 Requirements Info If you don t know C++, you CAN take this class additional time investment required early on GUI Java to C++ transition tutorial on course website
Workstation Applications for Windows. NVIDIA MAXtreme User s Guide
Workstation Applications for Windows NVIDIA MAXtreme User s Guide Software Version: 6.00.xx NVIDIA Corporation February 2004 NVIDIA MAXtreme Published by NVIDIA Corporation 2701 San Tomas Expressway Santa
SAPPHIRE TOXIC R9 270X 2GB GDDR5 WITH BOOST
SAPPHIRE TOXIC R9 270X 2GB GDDR5 WITH BOOST Specification Display Support Output GPU Video Memory Dimension Software Accessory supports up to 4 display monitor(s) without DisplayPort 4 x Maximum Display
Advanced Graphics and Animations for ios Apps
Tools #WWDC14 Advanced Graphics and Animations for ios Apps Session 419 Axel Wefers ios Software Engineer Michael Ingrassia ios Software Engineer 2014 Apple Inc. All rights reserved. Redistribution or
NVIDIA GeForce GTX 580 GPU Datasheet
NVIDIA GeForce GTX 580 GPU Datasheet NVIDIA GeForce GTX 580 GPU Datasheet 3D Graphics Full Microsoft DirectX 11 Shader Model 5.0 support: o NVIDIA PolyMorph Engine with distributed HW tessellation engines
SGRT: A Scalable Mobile GPU Architecture based on Ray Tracing
SGRT: A Scalable Mobile GPU Architecture based on Ray Tracing Won-Jong Lee, Shi-Hwa Lee, Jae-Ho Nah *, Jin-Woo Kim *, Youngsam Shin, Jaedon Lee, Seok-Yoon Jung SAIT, SAMSUNG Electronics, Yonsei Univ. *,
A Crash Course on Programmable Graphics Hardware
A Crash Course on Programmable Graphics Hardware Li-Yi Wei Abstract Recent years have witnessed tremendous growth for programmable graphics hardware (GPU), both in terms of performance and functionality.
Real-Time Realistic Rendering. Michael Doggett Docent Department of Computer Science Lund university
Real-Time Realistic Rendering Michael Doggett Docent Department of Computer Science Lund university 30-5-2011 Visually realistic goal force[d] us to completely rethink the entire rendering process. Cook
Q. Can an Exceptional3D monitor play back 2D content? A. Yes, Exceptional3D monitors can play back both 2D and specially formatted 3D content.
FAQ Content Playback Q. What kind of computer do I need to run an Exceptional 3D display? A. Processor: Intel Core Duo Processor 2.5+GHz, 3M, 1066 Operating System: Windows 7 Memory: 4GB, DDR3, 1066MHz,
Image Synthesis. Fur Rendering. computer graphics & visualization
Image Synthesis Fur Rendering Motivation Hair & Fur Human hair ~ 100.000 strands Animal fur ~ 6.000.000 strands Real-Time CG Needs Fuzzy Objects Name your favorite things almost all of them are fuzzy!
Maxwell Render 1.5 complete list of new and enhanced features
Maxwell Render 1.5 complete list of new and enhanced features Multiprocessor Maxwell Render can exploit all of the processors available on your system and can make them work simultaneously on the same
Intel Graphics Media Accelerator 900
Intel Graphics Media Accelerator 900 White Paper September 2004 Document Number: 302624-003 INFOMATION IN THIS DOCUMENT IS POVIDED IN CONNECTION WITH INTEL PODUCTS. NO LICENSE, EXPESS O IMPLIED, BY ESTOPPEL
L20: GPU Architecture and Models
L20: GPU Architecture and Models scribe(s): Abdul Khalifa 20.1 Overview GPUs (Graphics Processing Units) are large parallel structure of processing cores capable of rendering graphics efficiently on displays.
Volume Rendering on Mobile Devices. Mika Pesonen
Volume Rendering on Mobile Devices Mika Pesonen University of Tampere School of Information Sciences Computer Science M.Sc. Thesis Supervisor: Martti Juhola June 2015 i University of Tampere School of
Adding Animation With Cinema 4D XL
Step-by-Step Adding Animation With Cinema 4D XL This Step-by-Step Card covers the basics of using the animation features of Cinema 4D XL. Note: Before you start this Step-by-Step Card, you need to have
Parallel Web Programming
Parallel Web Programming Tobias Groß, Björn Meier Hardware/Software Co-Design, University of Erlangen-Nuremberg May 23, 2013 Outline WebGL OpenGL Rendering Pipeline Shader WebCL Motivation Development
OpenGL Insights. Edited by. Patrick Cozzi and Christophe Riccio
OpenGL Insights Edited by Patrick Cozzi and Christophe Riccio Browser Graphics Analysis and Optimizations 36 Chris Dirks and Omar A. Rodriguez 36.1 Introduction Understanding performance bottlenecks in
OctaVis: A Simple and Efficient Multi-View Rendering System
OctaVis: A Simple and Efficient Multi-View Rendering System Eugen Dyck, Holger Schmidt, Mario Botsch Computer Graphics & Geometry Processing Bielefeld University Abstract: We present a simple, low-cost,
Introduction to Computer Graphics
Introduction to Computer Graphics Version 1.1, January 2016 David J. Eck Hobart and William Smith Colleges This is a PDF version of a free, on-line book that is available at http://math.hws.edu/graphicsbook/.
A Short Introduction to Computer Graphics
A Short Introduction to Computer Graphics Frédo Durand MIT Laboratory for Computer Science 1 Introduction Chapter I: Basics Although computer graphics is a vast field that encompasses almost any graphical
3D Math Overview and 3D Graphics Foundations
Freescale Semiconductor Application Note Document Number: AN4132 Rev. 0, 05/2010 3D Math Overview and 3D Graphics Foundations by Multimedia Applications Division Freescale Semiconductor, Inc. Austin, TX
CERTIFICATE IV IN I.T. (MULTIMEDIA) VIDEO PRODUCTION
CERTIFICATE IV IN I.T. (MULTIMEDIA) VIDEO PRODUCTION Australian College of Information Technology Gold Cost Brisbane AUSTRALIA www.acit.edu.au overview CERTIFICATE IV IN I.T. (MULTIMEDIA) VIDEO PRODUCTION
Lecture Notes, CEng 477
Computer Graphics Hardware and Software Lecture Notes, CEng 477 What is Computer Graphics? Different things in different contexts: pictures, scenes that are generated by a computer. tools used to make
QNX Software Development Platform 6.6. Screen Graphics Subsystem Developer's Guide
QNX Software Development Platform 6.6 QNX Software Development Platform 6.6 Screen Graphics Subsystem Developer's Guide 2010 2014, QNX Software Systems Limited, a subsidiary of BlackBerry Limited. All
Deferred Shading & Screen Space Effects
Deferred Shading & Screen Space Effects State of the Art Rendering Techniques used in the 3D Games Industry Sebastian Lehmann 11. Februar 2014 FREESTYLE PROJECT GRAPHICS PROGRAMMING LAB CHAIR OF COMPUTER
IT 386: 3D Modeling and Animation. Review Sheet. Notes from Professor Nersesian s IT 386: 3D Modeling and Animation course
IT 386: 3D Modeling and Animation Review Sheet Sources: Notes from Professor Nersesian s IT 386: 3D Modeling and Animation course Notes from CannedMushrooms on YouTube Notes from Digital Tutors tutorial
Course Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch.
CSCI 480 Computer Graphics Lecture 1 Course Overview January 14, 2013 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s13/ Administrative Issues Modeling Animation
Compositing a 3D character over video footage in Maya Jean-Marc Gauthier, Spring 2008
Compositing a 3D character over video footage in Maya Jean-Marc Gauthier, Spring 2008 Video footage before compositing And after compositing with an animated character This tutorial is organized as small
Multiresolution 3D Rendering on Mobile Devices
Multiresolution 3D Rendering on Mobile Devices Javier Lluch, Rafa Gaitán, Miguel Escrivá, and Emilio Camahort Computer Graphics Section Departament of Computer Science Polytechnic University of Valencia
Writing Applications for the GPU Using the RapidMind Development Platform
Writing Applications for the GPU Using the RapidMind Development Platform Contents Introduction... 1 Graphics Processing Units... 1 RapidMind Development Platform... 2 Writing RapidMind Enabled Applications...
GPU Profiling with AMD CodeXL
GPU Profiling with AMD CodeXL Software Profiling Course Hannes Würfel OUTLINE 1. Motivation 2. GPU Recap 3. OpenCL 4. CodeXL Overview 5. CodeXL Internals 6. CodeXL Profiling 7. CodeXL Debugging 8. Sources
How To Make A Texture Map Work Better On A Computer Graphics Card (Or Mac)
Improved Alpha-Tested Magnification for Vector Textures and Special Effects Chris Green Valve (a) 64x64 texture, alpha-blended (b) 64x64 texture, alpha tested (c) 64x64 texture using our technique Figure
Interactive Level-Set Deformation On the GPU
Interactive Level-Set Deformation On the GPU Institute for Data Analysis and Visualization University of California, Davis Problem Statement Goal Interactive system for deformable surface manipulation
High Performance or Cycle Accuracy?
CHIP DESIGN High Performance or Cycle Accuracy? You can have both! Bill Neifert, Carbon Design Systems Rob Kaye, ARM ATC-100 AGENDA Modelling 101 & Programmer s View (PV) Models Cycle Accurate Models Bringing
Equalizer. Parallel OpenGL Application Framework. Stefan Eilemann, Eyescale Software GmbH
Equalizer Parallel OpenGL Application Framework Stefan Eilemann, Eyescale Software GmbH Outline Overview High-Performance Visualization Equalizer Competitive Environment Equalizer Features Scalability
