OpenGL and OpenGL ES - The Khronos Group Inc

24
© Copyright Khronos Group, 2012 - Page 1 OpenGL and OpenGL ES Alan Tsai Business Development Manager ARM Media Processing Division

Transcript of OpenGL and OpenGL ES - The Khronos Group Inc

Page 1: OpenGL and OpenGL ES - The Khronos Group Inc

© Copyright Khronos Group, 2012 - Page 1

OpenGL and OpenGL ES

Alan Tsai Business Development Manager ARM Media Processing Division

Page 2: OpenGL and OpenGL ES - The Khronos Group Inc

© Copyright Khronos Group, 2012 - Page 2

The OpenGL Family: 3D Everywhere!

The Leading Cross-Platform API for 3D Graphics on Desktop

Page 3: OpenGL and OpenGL ES - The Khronos Group Inc

© Copyright Khronos Group, 2012 - Page 3

The OpenGL Family: 3D Everywhere!

The Leading Cross-Platform API for 3D Graphics on Desktop

Mobile-friendly OpenGL subset deployed on billions of devices

Page 4: OpenGL and OpenGL ES - The Khronos Group Inc

© Copyright Khronos Group, 2012 - Page 4

The OpenGL Family: 3D Everywhere!

The Leading Cross-Platform API for 3D Graphics on Desktop

Mobile-friendly OpenGL subset deployed on billions of devices

OpenGL ES 2.0 functionality made available on the web via HTML5

Page 5: OpenGL and OpenGL ES - The Khronos Group Inc

© Copyright Khronos Group, 2012 - Page 5

2004 2006 2008 2009 2010 2005 2007 2011

Accelerating OpenGL Innovation

DirectX 10.1

OpenGL 2.0 OpenGL 2.1 OpenGL 3.0

OpenGL 3.1

DirectX 9.0c DirectX 10.0 DirectX 11

OpenGL 3.2

OpenGL 3.3/4.0

OpenGL 4.1

Page 6: OpenGL and OpenGL ES - The Khronos Group Inc

© Copyright Khronos Group, 2012 - Page 6

OpenGL 4.2 pipeline model

Page 7: OpenGL and OpenGL ES - The Khronos Group Inc

© Copyright Khronos Group, 2012 - Page 7

OpenGL 4.2 pipeline model

Vertex Pulling • Read vertices from memory

Page 8: OpenGL and OpenGL ES - The Khronos Group Inc

© Copyright Khronos Group, 2012 - Page 8

OpenGL 4.2 pipeline model

Vertex Shading • Transform and Light

vertices

Page 9: OpenGL and OpenGL ES - The Khronos Group Inc

© Copyright Khronos Group, 2012 - Page 9

OpenGL 4.2 pipeline model

Tessellation and

Geometry Shading • Add geometric detail

Page 10: OpenGL and OpenGL ES - The Khronos Group Inc

© Copyright Khronos Group, 2012 - Page 10

OpenGL 4.2 pipeline model

Transform

Feedback • Output geometry to memory

Page 11: OpenGL and OpenGL ES - The Khronos Group Inc

© Copyright Khronos Group, 2012 - Page 11

OpenGL 4.2 pipeline model

Rasterization • Generate fragments

Page 12: OpenGL and OpenGL ES - The Khronos Group Inc

© Copyright Khronos Group, 2012 - Page 12

OpenGL 4.2 pipeline model

Fragment Shading • Assign Colors to Fragments

Page 13: OpenGL and OpenGL ES - The Khronos Group Inc

© Copyright Khronos Group, 2012 - Page 13

New Functionality in OpenGL 4.2 • ARB_texture_storage

- More efficient texture objects

• ARB_shader_atomic_counters

- GLSL built-in functions to access atomic counters

• ARB_shader_image_load_store

- Shader I/O to texture objects in memory

• Other New Features

- Instanced transform feedback

- Shading language improvements

- BPTC texture compression

- More efficient compressed texture upload

Page 14: OpenGL and OpenGL ES - The Khronos Group Inc

© Copyright Khronos Group, 2012 - Page 14

ARB_texture_storage • Texture structure is immutable on creation

- Format

- Dimensions

- Presence of mipmap levels

• Contents are mutable

• Always complete (!)

void TexStorage{1D,2D,3D}(enum target, sizei levels,

enum internalformat, sizei width,

sizei height, sizei depth)

Page 15: OpenGL and OpenGL ES - The Khronos Group Inc

© Copyright Khronos Group, 2012 - Page 15

Image Load/Store and Atomic Counters • Image Load/Store

- Vertex or Fragment shaders can read or write locations in a texture

- Can also perform atomic RMW operations

- This allows memory I/O from inside the graphics pipeline

- No guarantees on order of update

• Atomic Counters

- Can increment atomic counters from inside a shader

• These features provide simple compute capability in OpenGL

- Does not replace OpenCL – capability is limited

- Does allow tightly coupled graphics/compute operations

Page 16: OpenGL and OpenGL ES - The Khronos Group Inc

© Copyright Khronos Group, 2012 - Page 16

Tightly Coupled Computing Example • Single rendering pass Order Independent Transparency

- Fragment shader writes to layer in 2D image Array using ARB_image_load_store

- Which layer to write to is tracked with a 2D image updated with atomic adds

- Result: Unordered list of fragments per pixel

• Sort and compositing pass

- Draw full screen quad

- Shader copies all fragments into an array

- Sorts array back-to-front

- Blends colors together

http://blog.icare3d.org/2010/06/fast-and-accurate-single-pass-buffer.html

Page 17: OpenGL and OpenGL ES - The Khronos Group Inc

© Copyright Khronos Group, 2012 - Page 17

OpenGL ES

•OpenGL for embedded & mobile devices - Gets rid of redundant / legacy features - Adds mobile-friendly features

•Versions - ES 1.0 / 1.1: fixed function - ES 2.0: shader-based via GLSL ES

•A huge success! - The dominant native 3D API for mobile devices - Widely adopted for STB, DTV, automotive,… - Hundreds and hundreds of millions shipped

Page 18: OpenGL and OpenGL ES - The Khronos Group Inc

© Copyright Khronos Group, 2012 - Page 18

Where OpenGL ES was in 2009:

• OpenGL ES 2.0 platforms are shipping!

- Available in several popular handsets

- Coming soon to set-top boxes, navigation devices, etc.

- SDKs, books available

Page 19: OpenGL and OpenGL ES - The Khronos Group Inc

© Copyright Khronos Group, 2012 - Page 19

Where OpenGL ES was in 2010:

OpenGL ES 2.0 is everywhere!

• On the desktop

- ARB_ES2_compatibility

- ES 2.0 context creation in desktop drivers

• In the browser

- WebGL

• …and, of course, on mobile devices

• Awesome content is appearing

Page 20: OpenGL and OpenGL ES - The Khronos Group Inc

© Copyright Khronos Group, 2012 - Page 20

OpenGL ES in 2011

The year of high-end content • Game Engines modified for ES 2.0

- UE3

- Unigine

• Demos / Promos

- Rage

http://www.idsoftware.com/rage-mobile/

http://www.epicgames.com/technology/epic-citadel

See “Bringing UE3 to Apple’s iPhone Platform”, Josh Adams

(Epic Games), GDC 2010

Page 21: OpenGL and OpenGL ES - The Khronos Group Inc

© Copyright Khronos Group, 2012 - Page 21

OpenGL ES Working Group Activities • Next Generation OpenGL ES

- Working group’s main focus since mid-2009

- Based on Desktop OpenGL 3.3

• ARB / ES Convergence TSG

- Meeting weekly to align roadmaps and minimize incompatibilities

• Conformance Test Improvements

- Joint project of OpenGL ES WG and the ARB

- Common test framework for OpenGL 4.x and next-gen OpenGL ES

Page 22: OpenGL and OpenGL ES - The Khronos Group Inc

© Copyright Khronos Group, 2012 - Page 22

ARM Mali Design for OpenGL ES • Mali-400MP Leading Android Performance

- High performance OpenVG and OpenGL ES 2.0

- World’s first multi-core embedded GPU

- Scaling to all resolutions from VGA to 1080p

• Mali-T604/T658 for Visual Computing

- Designed to support next generation OpenGL ES

- Support OpenCL 1.1 full profile

- Perfect embedded high-end GPU for 4K x 2K market

Samsung

Galaxy SII

HTC

Sensation Z710t

WinAccord

PTT 1026

Ramos

W10

Skyworth

Smart TV

TomTom

GO LIVE 1000

Page 23: OpenGL and OpenGL ES - The Khronos Group Inc

© Copyright Khronos Group, 2012 - Page 23

OpenGL ES in 2012?

<Your Application Here!>

Page 24: OpenGL and OpenGL ES - The Khronos Group Inc

© Copyright Khronos Group, 2012 - Page 24

THANKS