Adding Advanced Shader Features and Handling Fragmentation

Similar documents
POWERVR MBX & SGX OpenVG Support and Resources

Mobile Graphics Ecosystem. Tom Olson OpenGL ES working group chair

The PowerVR Insider SDK. PowerVR Developer Technology

PowerVR: Getting Great Graphics Performance with the PowerVR Insider SDK. PowerVR Developer Technology

Pipeline Integration with FX Composer. Chris Maughan NVIDIA Corporation

Streaming Media. Advanced Audio. Erik Noreke Standardization Consultant Chair, OpenSL ES. Copyright Khronos Group, Page 1

Next Generation OpenGL Neil Trevett Khronos President NVIDIA VP Mobile Copyright Khronos Group Page 1

Tools To Get Great Graphics Performance

Hardware Accelerated Graphics for High Performance JavaFX Mobile Applications

Copyright Khronos Group, Page 1. OpenCL. GDC, March 2010

Bringing it all together: The challenge in delivering a complete graphics system architecture. Chris Porthouse

Khronos and the Mobile Ecosystem

Applications and Implementations

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

Copyright Khronos Group Page 1

Profiling and Debugging Games on Mobile Platforms

Dave Shreiner, ARM March 2009

AR Standards Update Austin, March 2012

The Ultimate Developers Toolkit. Jonathan Zarge Dan Ginsburg

Copyright Khronos Group, Page 1

Mali Developer Resources. Kevin Ho ARM Taiwan FAE

Multimedia in Mobile Phones. Architectures and Trends Lund

OpenGL ES 2.0 : Start Developing Now. Dan Ginsburg Advanced Micro Devices, Inc.

Using the PowerVR SDK to Optimize your Renderer

OpenMAX AL, OpenSL ES

PowerVR SDK & Tools. February 2017

Copyright Khronos Group, Page 1

Copyright Khronos Group, Page 1

Completing the Multimedia Architecture

Building scalable 3D applications. Ville Miettinen Hybrid Graphics

Mobile AR Hardware Futures

Our Technology Expertise for Software Engineering Services. AceThought Services Your Partner in Innovation

Neil Trevett Vice President Mobile Ecosystem, NVIDIA President, Khronos Group. Copyright Khronos Group Page 1

WebGL Meetup GDC Copyright Khronos Group, Page 1

Knowledge Workers Task Workers. Minimal or No GPU Utilization Use existing clear text codec (no significant investments) Professional Users R R R

Copyright Khronos Group, Page 1. Khronos Overview. Taiwan, February 2012

Creating outstanding digital cockpits with Qt Automotive Suite

DEVELOPER DAY MONTRÉAL APRIL Copyright Khronos Group Page 1

Whiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME)

CONSOLE ARCHITECTURE

Vulkan 1.1 March Copyright Khronos Group Page 1

SIGGRAPH Briefing August 2014

CSE 591: GPU Programming. Introduction. Entertainment Graphics: Virtual Realism for the Masses. Computer games need to have: Klaus Mueller

Baback Elmieh, Software Lead James Ritts, Profiler Lead Qualcomm Incorporated Advanced Content Group

Coming to a Pixel Near You: Mobile 3D Graphics on the GoForce WMP. Chris Wynn NVIDIA Corporation

Mobile Performance Tools and GPU Performance Tuning. Lars M. Bishop, NVIDIA Handheld DevTech Jason Allen, NVIDIA Handheld DevTools

The Mobile Advantage. Erik Noreke Independent Standardization Consultant Chair, OpenSL ES. Copyright Khronos Group, Page 1

<Insert Picture Here> JavaFX 2.0

PowerVR GPU IP from Wearables to Servers. Kristof Beets Director of Business Development May 2015

Copyright Khronos Group Page 1. Vulkan Overview. June 2015

Siggraph Agenda. Usability & Productivity. FX Composer 2.5. Usability & Productivity 9/12/2008 9:16 AM

More performance options

Radeon ProRender and Radeon Rays in a Gaming Rendering Workflow. Takahiro Harada, AMD 2017/3

The Mobile Internet: The Potential of Handhelds to Bring Internet to the Masses. April 2008

Profiling and Debugging OpenCL Applications with ARM Development Tools. October 2014

Shaders : the sky is the limit Sébastien Dominé NVIDIA Richard Stenson SCEA

NVIDIA Developer Tools for Graphics and PhysX

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

Optimizing Film, Media with OpenCL & Intel Quick Sync Video

Unity Software (Shanghai) Co. Ltd.

Overview. Technology Details. D/AVE NX Preliminary Product Brief

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

Advanced Imaging Applications on Smart-phones Convergence of General-purpose computing, Graphics acceleration, and Sensors

Accelerating Realism with the (NVIDIA Scene Graph)

Hands-On Workshop: 3D Automotive Graphics on Connected Radios Using Rayleigh and OpenGL ES 2.0

3D Graphics in Future Mobile Devices. Steve Steele, ARM

CSE 591/392: GPU Programming. Introduction. Klaus Mueller. Computer Science Department Stony Brook University

An overview of mobile and embedded platforms

Viewport 2.0 API Porting Guide for Locators

RenderMonkey 1.6. Natalya Tatarchuk ATI Research

S5409: Custom Iray Applications and MDL for Consistent Visual Appearance Throughout Your Pipeline

In the Driver s Seat

3D Production Pipeline

Streaming Massive Environments From Zero to 200MPH

Press Briefing SIGGRAPH 2015 Neil Trevett Khronos President NVIDIA Vice President Mobile Ecosystem. Copyright Khronos Group Page 1

Building Ultra-Low Power Wearable SoCs

Copyright Khronos Group 2012 Page 1. OpenCL 1.2. August 2012

THE LEADER IN VISUAL COMPUTING

developer.nvidia.com The Source for GPU Programming

gltf Briefing September 2016 Copyright Khronos Group Page 1

Craig Peeper Software Architect Windows Graphics & Gaming Technologies Microsoft Corporation

ARM Multimedia IP: working together to drive down system power and bandwidth

Why modern versions of OpenGL should be used Some useful API commands and extensions

Open Standards for Building Virtual and Augmented Realities. Neil Trevett Khronos President NVIDIA VP Developer Ecosystems

LIQUIDVR TODAY AND TOMORROW GUENNADI RIGUER, SOFTWARE ARCHITECT

Working with Metal Overview

Press Briefing SIGGRAPH 2015 Neil Trevett Khronos President NVIDIA Vice President Mobile Ecosystem. Copyright Khronos Group Page 1

Visual Effects-After Effects

Overview of the OpenVG, a vector graphics API and Introduction to IWAYAG, an native OpenVG accelerator

Copyright Khronos Group, Page Graphic Remedy. All Rights Reserved

Overview and AR/VR Roadmap

OpenCL Press Conference

WebSphere Puts Business In Motion. Put People In Motion With Mobile Apps

PROFESSIONAL VR: AN UPDATE. Robert Menzel, Ingo Esser GTC 2018, March

Spring 2011 Prof. Hyesoon Kim

PowerVR Hardware. Architecture Overview for Developers

Broken Age's Approach to Scalability. Oliver Franzke Lead Programmer, Double Fine Productions

GPGPU, 1st Meeting Mordechai Butrashvily, CEO GASS

HTML5 Evolution and Development. Matt Spencer UI & Browser Marketing Manager

Software Development for Mobile Devices

Transcription:

Copyright Khronos Group, 2010 - Page 1 Adding Advanced Shader Features and Handling Fragmentation How to enable your application on a wide range of devices Imagination Technologies

Copyright Khronos Group, 2010 - Page 2

Graphics are the key focus More than 90% of the device is now a Screen - Usability, Branding, Style are no longer fixed physical properties - All controlled by Graphics shown on the device screen - Can be customised to user expectations and desires and functional needs 3 Copyright Khronos Group, 2010 - Page 3

Fragmentation is a key problem Multiple OS Multiple CPUs Variable Device Features and Specifications Fragmentation makes software development complex 4 Copyright Khronos Group, 2010 - Page 4

System Integration Application Acceleration Authoring and accessibility Khronos Family of Standards 3D Digital Asset Exchange format Plugin-free 3D Web Content Mobile OS Abstraction Cross platform desktop 3D Parallel Computing Embedded 3D Context, Sync and Surface Management A coordinated ecosystem of compute, graphics and media standards and APIs Safety Critical 3D Streaming Media Advanced Audio Vector 2D Video, Audio and Image Acceleration Codec Creation Window System Acceleration Focus on 3D Graphics in this session Copyright Khronos Group, 2010 - Page 5

Mobile Phones with OpenGL ES 2.0 >100 phones shipping Copyright Khronos Group, 2010 - Page 6

Market Opportunity WELL OVER 400M OpenGL ES 1.1/2.0 devices Some perspective... - Sony PSP ~ 60M units - Nintendo DS ~ 120M units 7 2009 Imagination Technologies Ltd. Copyright Khronos Group, 2010 - Page 7

What s the challenge for developers? Copyright Khronos Group, 2010 - Page 8

Hardware Fragmentation Architecture Fragmentation - Intel/AMD X86 versus ARM7/9/11/Cortex/MP, SHMobile, MIPS, X86, PowerPC, etc. - Feature Fragmentation - E.g. FPUs Optional (VFP), SIMD Extensions Optional (NEON) Physical & Performance Fragmentation in Embedded Market - From 200MHz to GHz+ - From unified memory with 16bit DDR bus to segmented memory with multiple 128bit buses to DDR3 - From single pipeline GPUs to multi-core multi-pipeline GPUs - From QVGA to 1080p Screens - From 16MB to GBs of memory - Full keyboard to touch screen only And this list is increasing Copyright Khronos Group, 2010 - Page 9

Software Fragmentation OS & Windowing Frameworks - ios, Windows Phone 7, Android, WinCE, Linux (Maemo, LiMo, bada, Meego, X11 variants etc.), Symbian (S60/UIQ), Android, OS X, many RTOS (Nucleus, QNX, uitron,...) This list is also increasing What does this mean? - Obviously many different ways of doing things and different capabilities - File handling - Input handling - Initialisation code - Less obvious things - Can t rely on STL being available on all devices - Compilers sometimes don t deal very well with templates and similar - Some devices don t have file systems, command line options Copyright Khronos Group, 2010 - Page 10

Standard APIs Standard APIs help reduce fragmentation - Khronos Group focus on Multi-Media API standardisation including: - OpenGL ES 1.1/2.0 for 3D Graphics - OpenVG 1.1 for Vector Graphics (Flash-like content) - OpenMAX for Video Decoding Industry Standard APIs define a common language - Translated to the language supported by the hardware in the software driver - Efficiency of this translation is variable - depends on standard & hardware capabilities - API definitions are not perfect - Always scope for variability and different interpretations not always possible to fix But extensions can be essential for good performance and aren t standard - Must be checked for - Alternatives may require different art assets, rendering strategies 2009 Imagination Technologies Ltd. Copyright Khronos Group, 2010 - Page 11

The Impact of Graphics Acceleration Software versus Acceleration - Advances like acceleration mean huge progress in mobile software expectations Software CPU Only OpenGL ES 1.1 Hardware OpenGL ES 2.0 Hardware 12 Copyright Khronos Group, 2010 - Page 12

High Quality Graphics Advanced effects and complex scenes are now possible Capabilities of devices are growing very fast But this also means a wide range in device capabilities Lowest common denominator isn t good enough Copyright Khronos Group, 2010 - Page 13

So what are our options? Choose a single platform and develop for this +Do one platform well vs do many platforms badly +Cost of development vs return may be better especially in short term - Dependent on single device s market share - Dependent on single device s future - Moving to target more platforms may be difficult later OR Develop intelligently for multiple platforms +Larger market to target +Less dependence on single device s success +More future-proofed - Complexity of development - Time = Money = Resources Copyright Khronos Group, 2010 - Page 14

How to Target Multiple Platforms? Abstraction Layers - Write bulk of the code to your own unified API - Hides platform complexity - OS, screen sizes, memory allocations, initialisations, etc. - Reduces testing cost and time - Simplifies support of 3rd parties porting your code Design Flexibility - Create your software architecture with an eye on expansion and interaction - Plug-in Approach - Unify the interaction with other software components - Extension Approach - Build in interfaces for extra functionality Scalability - Build scalability into your engines from day one - Future proofing for more powerful, but yet-to-be released platforms - Tweak-ability before release or per game level - Flexible art asset chains Automation - Regenerating assets for multiple platforms by hand wastes time - Automatic nightly builds hi-light problems in common code quickly Copyright Khronos Group, 2010 - Page 15

Use an Abstraction Layer Shields developer from common OS operations - API & window setup - File handling - Input gathering Other useful features - Screenshots - Command line options When we get a new Platform - Create OS and/or API specific file - Use example code from platform provider - Use existing Shell code from closest existing platform - Hooks into existing Shell structure Allows 30+ demos can to run on a new platform (sometimes within a day) - Usually no need to edit application code at all Copyright Khronos Group, 2010 - Page 16

Use the Right Tools Get an integrated shader development environment - An IDE that allows rapid prototyping of shader effects on Windows, Linux, Mac OS - Combines the functionality of multiple utilities - See results of shader changes as you implement them Eg PVRShaman features - Work with POD models or import Collada files - Scene navigation, object selection - animated and free camera modes - wire-frame mode, overdraw analysis etc - Material editing - Integrated Editor & Compiler - Multi-window configurations and multi-screen support - Support for DirectX, OpenGL and OpenGL ES (1.1 & 2.0) graphics APIs Copyright Khronos Group, 2010 - Page 17

How much should you automate? In short: as much as you can! Examples: - Nightly builds of every platform - That s every API and every OS - Texture encoding - Command line version of many tools allow scripting - Some texture libraries allow direct integration into content creation tools - Project/makefile regeneration - List assets and files for a project - Run system - Produce projects/makefiles for all platforms automatically For each new platform - Add a template project - Tweak asset lists for texture size, weight of shaders, complexity of models - Rerun system Copyright Khronos Group, 2010 - Page 18

Scalability Start by looking at desktop PC titles - Level of detail for models - Resolution of textures - Complexity of shaders - Number of particles, lights - Type of shader Run-time vs compile-time - On mobile, often platform strengths/weaknesses can be provided for at build-time - Automation of asset creation will allow perplatform assets Copyright Khronos Group, 2010 - Page 19

Performance Read the documentation - Manufacturers know performance matters they document ways to get it Look at the examples - The examples in manufacturer s SDKs are designed show how to implement a technique optimally Use the free tools available Ask the experts - Khronos includes experts such as Imagination, NVIDIA, AMD etc. - Key ecosystem programs have forums to share info Do these things at the beginning of a project! - Not at the end - Do you want to have to re-write most of your rendering code in the week you re supposed to ship? Copyright Khronos Group, 2010 - Page 20

Training - Source Code Get inspired! Single technique tutorial approach - Developed using partner and developer feedback - Each course targets a single topic to ensure simplicity - Wide range of supported graphics APIs - DX9/10, D3DMobile, OpenGL, OpenGL ES (1.1 & 2.0) - Gradual learning curve - From initialisation code, to rendering a simple triangle, to advanced shader effects - Tutorials have a similar implementation for each graphics API Optimised examples - Fully commented source code and projects - Standardised implementation - Demonstrates how to use OpenGL ES cores effectively Copyright Khronos Group, 2010 - Page 21

Check out Demos Source Code Get inspired! More complex techniques, same clear approach - Fully commented source code and projects - Optimised to make the most of the each hardware - Implement a combination of techniques to achieve robust, efficient 3D scenes - Uses the same standardised implementation as the Training Courses - Wide range of supported graphics APIs - DX9/10, D3DMobile, OpenGL, OpenGL ES (1.1 & 2.0) Copyright Khronos Group, 2010 - Page 22

Copyright Khronos Group, 2010 - Page 23 Thanks! Contact: devtech@imgtec.com