15
© Copyright Khronos Group 2015 - Page 1 Next Generation OpenGL Neil Trevett | Khronos President NVIDIA VP Mobile Ecosystem | @neilt3d

Next Generation OpenGL (pdf) - Khronos Group · PDF fileOpenGL 3D API Family Tree OpenGL ES 1.0 OpenGL ES 1.1 OpenGL ES 2.0 OpenGL ES 3.0 ... Next Generation OpenGL Initiative After

  • Upload
    leliem

  • View
    270

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Next Generation OpenGL (pdf) - Khronos Group · PDF fileOpenGL 3D API Family Tree OpenGL ES 1.0 OpenGL ES 1.1 OpenGL ES 2.0 OpenGL ES 3.0 ... Next Generation OpenGL Initiative After

© Copyright Khronos Group 2015 - Page 1

Next Generation OpenGL Neil Trevett | Khronos President

NVIDIA VP Mobile Ecosystem | @neilt3d

Page 2: Next Generation OpenGL (pdf) - Khronos Group · PDF fileOpenGL 3D API Family Tree OpenGL ES 1.0 OpenGL ES 1.1 OpenGL ES 2.0 OpenGL ES 3.0 ... Next Generation OpenGL Initiative After

© Copyright Khronos Group 2015 - Page 2

Khronos Connects Software to Silicon

Open Consortium creating

ROYALTY-FREE, OPEN STANDARD

APIs for hardware acceleration

Defining the roadmap for

low-level silicon interfaces

needed on every platform

Graphics, compute, rich media,

vision, sensor and camera

processing

Rigorous specifications AND

conformance tests for cross-

vendor portability

Acceleration APIs

BY the Industry

FOR the Industry

Well over a BILLION people use Khronos APIs

Every Day… http://accelerateyourworld.org/

Page 3: Next Generation OpenGL (pdf) - Khronos Group · PDF fileOpenGL 3D API Family Tree OpenGL ES 1.0 OpenGL ES 1.1 OpenGL ES 2.0 OpenGL ES 3.0 ... Next Generation OpenGL Initiative After

© Copyright Khronos Group 2015 - Page 3

Khronos Standards

Visual Computing - 3D Graphics - Heterogeneous Parallel Computing

3D Asset Handling - 3D authoring asset interchange

- 3D asset transmission format with compression

Acceleration in HTML5 - 3D in browser – no Plug-in

- Heterogeneous computing for JavaScript

Over 100 companies defining royalty-free

APIs to connect software to silicon

Sensor Processing - Vision Acceleration - Camera Control - Sensor Fusion

Page 4: Next Generation OpenGL (pdf) - Khronos Group · PDF fileOpenGL 3D API Family Tree OpenGL ES 1.0 OpenGL ES 1.1 OpenGL ES 2.0 OpenGL ES 3.0 ... Next Generation OpenGL Initiative After

© Copyright Khronos Group 2015 - Page 4

Access to 3D on Over 2 BILLION Devices

300M Desktops / year

Windows, Mac, Linux

1.9B Mobiles / year

1B Browsers / year

Source: Gartner (December 2013)

Page 5: Next Generation OpenGL (pdf) - Khronos Group · PDF fileOpenGL 3D API Family Tree OpenGL ES 1.0 OpenGL ES 1.1 OpenGL ES 2.0 OpenGL ES 3.0 ... Next Generation OpenGL Initiative After

© Copyright Khronos Group 2015 - Page 5

OpenGL 3D API Family Tree

OpenGL ES 1.0

OpenGL ES 1.1 OpenGL ES 2.0 OpenGL ES 3.0

2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013

OpenGL 1.5 OpenGL 2.0

OpenGL 4.3

OpenGL 2.1

OpenGL 3.0

OpenGL 3.1

OpenGL 3.2

OpenGL 3.3

OpenGL 4.0

OpenGL 4.1

OpenGL 4.2

2002

OpenGL 1.3

OpenGL ES 2.0

Content OpenGL ES 1.1

Content

OpenGL ES 3.0

Content

ES3 is backward compatible

so new features can be

added incrementally Fixed function

3D Pipeline

Programmable vertex

and fragment shaders

WebGL 1.0

OpenGL 4.4 is a

superset of DX11

WebGL 2.0

OpenGL 4.4

2014

OpenGL ES 3.1

OpenGL 4.5

2015

Page 6: Next Generation OpenGL (pdf) - Khronos Group · PDF fileOpenGL 3D API Family Tree OpenGL ES 1.0 OpenGL ES 1.1 OpenGL ES 2.0 OpenGL ES 3.0 ... Next Generation OpenGL Initiative After

© Copyright Khronos Group 2015 - Page 6

OpenGL ES and WebGL Roadmap

2003

1.0

2004

1.1

2007

2.0

2012

3.0

2014

3.1

Driver

Update

Silicon

Update

Silicon

Update

Driver

Update

Compute Shaders

32-bit integers and floats

NPOT, 3D/depth textures

Texture arrays

Multiple Render Targets

Programmable

Shaders Fixed function

Pipeline

2011

WebGL 2.0 - Open Review

http://www.khronos.org/registry/webgl/specs/latest/2.0/

WebGL 2.0 Under Development

WebGL 1.0

Spec at GDC March 2014

Standard in Android L

Page 7: Next Generation OpenGL (pdf) - Khronos Group · PDF fileOpenGL 3D API Family Tree OpenGL ES 1.0 OpenGL ES 1.1 OpenGL ES 2.0 OpenGL ES 3.0 ... Next Generation OpenGL Initiative After

© Copyright Khronos Group 2015 - Page 7

OpenGL ES 3.1 Goals • Bring developer requested features from desktop OpenGL 4 to mobile

- Advanced features, modern programming styles

- Higher performance with lower overhead

• Headline features - Compute Shaders and Draw-Indirect

- Compute shaders can create geometry or other rendering data

- … and also the draw commands needed to render them

- Offload work from CPU to GPU – critical for mobile perf and power

• Run on OpenGL ES 3.0 hardware – expose hidden capabilities of shipping devices

- Enable very rapid adoption across the industry

• Better looking, faster performing apps!

Page 8: Next Generation OpenGL (pdf) - Khronos Group · PDF fileOpenGL 3D API Family Tree OpenGL ES 1.0 OpenGL ES 1.1 OpenGL ES 2.0 OpenGL ES 3.0 ... Next Generation OpenGL Initiative After

© Copyright Khronos Group 2015 - Page 8

OpenGL ES 3.1 Adoption Momentum • Widespread industry participation to release specification in March 2014

- Tool and Game Engine Developers, GPU Designers, SoC Vendors

- Platform Owners, End Equipment Makers, Middleware ISVs

• Khronos launched the OpenGL ES 3.1 Adopters program in June 2014

- Broad set of conformance tests to ensure reliable cross-vendor operation

• Google announced that OpenGL ES 3.1 is standard in Android L

- At Google IO June 2014

• First wave of GPU vendors conformant in July 2014

- ARM, Imagination Technologies, Intel, NVIDIA, Qualcomm, Vivante

- http://www.khronos.org/conformance/adopters/conformant-products#opengles

Page 9: Next Generation OpenGL (pdf) - Khronos Group · PDF fileOpenGL 3D API Family Tree OpenGL ES 1.0 OpenGL ES 1.1 OpenGL ES 2.0 OpenGL ES 3.0 ... Next Generation OpenGL Initiative After

© Copyright Khronos Group 2015 - Page 9

Google Android Extension Pack (AEP) • Set of extensions for OpenGL ES 3.1

- Accessible through a single query

- Functionality to support AAA games

• Functionality from desktop OpenGL

- Tessellation - Improves the detail of geometry rendered

- Geometry shaders - Add details and shadows

- ASTC Texture Compression - High quality texture compression

• Enables premium graphics effects

- Deferred rendering

- Physically-based shading

- High Dynamic Range tone mapping

- Global Illumination and reflection

- Smoke and particle effects

Epic’s Rivalry demo using full Unreal Engine 4

Running in real-time on NVIDIA Tegra K1 with OpenGL ES 3.1 + AEP

https://www.youtube.com/watch?v=jRr-G95GdaM

Page 10: Next Generation OpenGL (pdf) - Khronos Group · PDF fileOpenGL 3D API Family Tree OpenGL ES 1.0 OpenGL ES 1.1 OpenGL ES 2.0 OpenGL ES 3.0 ... Next Generation OpenGL Initiative After

© Copyright Khronos Group 2015 - Page 10

Next Generation OpenGL Initiative

After twenty two years – the architecture of

GPUs and platforms has radically changed

Platform Diversity and

need for cross-platform

API standards increasing

• Ground up re-design of API for high-efficiency access to

graphics and compute on modern GPUs and platforms

• Design from first principles – even if means breaking

compatibility with traditional OpenGL

• An open-standard, cross-platform 3D+compute API

for the modern era

Page 11: Next Generation OpenGL (pdf) - Khronos Group · PDF fileOpenGL 3D API Family Tree OpenGL ES 1.0 OpenGL ES 1.1 OpenGL ES 2.0 OpenGL ES 3.0 ... Next Generation OpenGL Initiative After

© Copyright Khronos Group 2015 - Page 11

Ground-up Explicit API Redesign

Traditional OpenGL Next Generation OpenGL

Originally architected for graphics workstations with direct renderers and split memory

Matches architecture of modern platforms including mobile platforms with unified memory, tiled rendering

Driver does lots of work: state validation, dependency tracking, error checking. Limits and randomizes performance

Explicit API – the application has direct, predictable control over the operation of the GPU

Threading model doesn’t enable generation of graphics commands in parallel to command execution

Multi-core friendly with multiple command queues that can be created in parallel

Syntax evolved over twenty years – complex API choices can obscure optimal performance path

Removing legacy requirements simplifies API design, reduces specification size and enables clear usage guidance

Shader language compiler built into driver. Only GLSL supported. Have to ship shader source

Standard Intermediate Language as compiler target simplifies driver and enables front-end language flexibility and reliability

Despite conformance testing developers must often handle implementation variability between vendors

Simpler API, common language front-ends, more rigorous testing increase cross vendor functional/performance portability

Page 12: Next Generation OpenGL (pdf) - Khronos Group · PDF fileOpenGL 3D API Family Tree OpenGL ES 1.0 OpenGL ES 1.1 OpenGL ES 2.0 OpenGL ES 3.0 ... Next Generation OpenGL Initiative After

© Copyright Khronos Group 2015 - Page 12

Cross Platform Challenge

One family

of GPUs

One GPU on

one OS

One OS All Modern Platforms and GPUs Participation of key players

Proven IP Framework

Battle-tested cooperative model

The drive to not let the 3D industry fragment

Page 13: Next Generation OpenGL (pdf) - Khronos Group · PDF fileOpenGL 3D API Family Tree OpenGL ES 1.0 OpenGL ES 1.1 OpenGL ES 2.0 OpenGL ES 3.0 ... Next Generation OpenGL Initiative After

© Copyright Khronos Group 2015 - Page 13

Portability

Cross-

vendor

Portability

Streamlined API is

easier to implement

and test

Standard intermediate

language improves shader

program portability and

reduces driver complexity

Enhanced

conformance

testing

methodology

WebGL 1.0.2 doubles conformance tests over 1.0.1

~21200 vs. ~8900

1.0.3 suite will contain ~20% more tests

Most contributed by open source community

Page 14: Next Generation OpenGL (pdf) - Khronos Group · PDF fileOpenGL 3D API Family Tree OpenGL ES 1.0 OpenGL ES 1.1 OpenGL ES 2.0 OpenGL ES 3.0 ... Next Generation OpenGL Initiative After

© Copyright Khronos Group 2015 - Page 14

Status • Organized as a joint project of ARB and OpenGL ES working groups

- Likely to become standalone working group soon

- Working at very high intensity since June - Making rapid progress

- Very significant proposals and IP contributions received from members

• Participants come from all segments of the graphics industry

- Including an unprecedented level of participation from game engine ISVs

Page 15: Next Generation OpenGL (pdf) - Khronos Group · PDF fileOpenGL 3D API Family Tree OpenGL ES 1.0 OpenGL ES 1.1 OpenGL ES 2.0 OpenGL ES 3.0 ... Next Generation OpenGL Initiative After

© Copyright Khronos Group 2015 - Page 15

Get Involved! • Khronos members are building the future of graphics processing

- Together with compute, vision and sensor processing

• Any company is welcome to join Khronos to have a voice in these developments!

- Well-defined IP framework protects your IP and conformant implementations

• www.khronos.org

- [email protected]