+ All Categories
Home > Documents > OpenGL ES in theOpenGL ES in the Mobile Graphics...

OpenGL ES in theOpenGL ES in the Mobile Graphics...

Date post: 05-Apr-2020
Category:
Upload: others
View: 9 times
Download: 0 times
Share this document with a friend
16
OpenGL ES in the OpenGL ES in the Mobile Graphics Ecosystem Tom Olson OpenGL ES working group chair Di t G hi R h ARM Ltd Director, Graphics Research, ARM Ltd 1
Transcript
Page 1: OpenGL ES in theOpenGL ES in the Mobile Graphics Ecosystempeople.csail.mit.edu/kapu/EG_09_MGW/EG2009MobileGraphics... · 2009-04-19 · OpenGL ES in theOpenGL ES in the Mobile Graphics

OpenGL ES in theOpenGL ES in theMobile Graphics p

EcosystemTom Olson

OpenGL ES working group chairDi t G hi R h ARM LtdDirector, Graphics Research, ARM Ltd

1

Page 2: OpenGL ES in theOpenGL ES in the Mobile Graphics Ecosystempeople.csail.mit.edu/kapu/EG_09_MGW/EG2009MobileGraphics... · 2009-04-19 · OpenGL ES in theOpenGL ES in the Mobile Graphics

Outline

Why Mobile Graphics?

OpenGL ES Overviewp

G S O G SGetting Started with OpenGL ES

Conclusion

2

Page 3: OpenGL ES in theOpenGL ES in the Mobile Graphics Ecosystempeople.csail.mit.edu/kapu/EG_09_MGW/EG2009MobileGraphics... · 2009-04-19 · OpenGL ES in theOpenGL ES in the Mobile Graphics

Why Mobile Graphics?

Mobile graphics is growing quicklyEmbedded platforms will eventually outnumber desktops

Factors driving the trendDemand: Consumers want itTechnology: Displays, GPUs, CPUs, batteries, memoryStandards: Operating systems, APIs

and the commercial infrastructure is emerging - the rise of open

3

… and the commercial infrastructure is emerging the rise of open distribution channels is creating a market for applications

Page 4: OpenGL ES in theOpenGL ES in the Mobile Graphics Ecosystempeople.csail.mit.edu/kapu/EG_09_MGW/EG2009MobileGraphics... · 2009-04-19 · OpenGL ES in theOpenGL ES in the Mobile Graphics

What is OpenGL ES?OpenGL ES is the dominant C/C++ API for Mobile 3D

Products from every major mobile phone manufacturerMoving rapidly into other mobile and embedded devicesg p y

Available for (or a standard part of) most mobile OSesSymbianSymbianMac OS X on iPhoneLinux: Maemo, Android, etcBREWWindows Mobile / WinCEPalm OS

Over 54 million hardware-accelerated OpenGL ES platforms have shipped to date. Many more are coming.

4

have shipped to date. Many more are coming.

Page 5: OpenGL ES in theOpenGL ES in the Mobile Graphics Ecosystempeople.csail.mit.edu/kapu/EG_09_MGW/EG2009MobileGraphics... · 2009-04-19 · OpenGL ES in theOpenGL ES in the Mobile Graphics

OpenGL ES FeaturesBased on desktop OpenGL

Leverages the OpenGL ecosystem Extensible to allow innovation / evolutionExtensible to allow innovation / evolution

Optimized for mobile devicesGets rid of redundancy & rarely-used featuresAdds mobile-friendly data types

Full-FeaturedAll the most used desktop features are available

OpenGL ES gives you the power of OpenGL in a much smaller package

5

smaller package

Page 6: OpenGL ES in theOpenGL ES in the Mobile Graphics Ecosystempeople.csail.mit.edu/kapu/EG_09_MGW/EG2009MobileGraphics... · 2009-04-19 · OpenGL ES in theOpenGL ES in the Mobile Graphics

OpenGL ES Versions

OpenGL ES 2 0

OpenGL 1.3 OpenGL 1.5 OpenGL 2.x OpenGL 3.x

OpenGL ES HaltiOpenGL ES 2.0

OpenGL ES 1.0 OpenGL ES 1.1

OpenGL ES Halti

OpenGL ES Versioning ModelOpenGL ES design philosophy is to minimize redundancyWhen new versions add better methods, old methods are droppedNote the difference from desktop GL!

OpenGL ES VersionsOpenGL ES 1.x: fixed function graphics

6

OpenGL ES 2.0: shader based graphics

Page 7: OpenGL ES in theOpenGL ES in the Mobile Graphics Ecosystempeople.csail.mit.edu/kapu/EG_09_MGW/EG2009MobileGraphics... · 2009-04-19 · OpenGL ES in theOpenGL ES in the Mobile Graphics

OpenGL ES 1.1Key Features

Vertex Arrays / Vertex Buffer ObjectsFull Transform & (almost) LightingFull Transform & (almost) LightingMultitexturing (min 2 units)DOT3 bump mappingFixed Point & Float profiles

Features RemovedBegin / EndColor Index ModeImaging SubsetQuads/Polygons

7

Quads/Polygons

Page 8: OpenGL ES in theOpenGL ES in the Mobile Graphics Ecosystempeople.csail.mit.edu/kapu/EG_09_MGW/EG2009MobileGraphics... · 2009-04-19 · OpenGL ES in theOpenGL ES in the Mobile Graphics

OpenGL ES 2.0Key Features

Vertex / fragment shadersRemoves fixed function pipelineRemoves fixed function pipelineHigh level language (GLSL ES 1.0)On-line or off-line compilationSuper-compact, efficient API

Advanced Feature SetEight attribs / varyings / texturesCube MapsDependent texture readsFramebuffer Objects

8

Page 9: OpenGL ES in theOpenGL ES in the Mobile Graphics Ecosystempeople.csail.mit.edu/kapu/EG_09_MGW/EG2009MobileGraphics... · 2009-04-19 · OpenGL ES in theOpenGL ES in the Mobile Graphics

What comes next?Working group is committed to supporting OpenGL ES 2.0

Working actively on conformance testing programOngoing projects to improve documentation, tools, ecosystemg g p j p , , y

But, work has begun on OpenGL ES ‘Halti’

Tentative GoalsMaintain compatibility with OpenGL ES 2.0Minimize / reduce differences from desktop OpenGL

Working closely with OpenGL ARBNote similarity of OpenGL ES 2.0 to non-deprecated subset of y p pOpenGL 3.0

Improve driver efficiencyAdopt the most modern / advanced features from OpenGL

9

p p

Page 10: OpenGL ES in theOpenGL ES in the Mobile Graphics Ecosystempeople.csail.mit.edu/kapu/EG_09_MGW/EG2009MobileGraphics... · 2009-04-19 · OpenGL ES in theOpenGL ES in the Mobile Graphics

Getting Started: Information

Khronos.orgNe s http // khronos orgNews: http://www.khronos.orgKhronos OpenGL ES API registry : ~/registry/glesOpenGL ES 2.0 man pages: ~/opengles/sdk/docs/man

SDeveloper SitesZeusCMD, etc (tutorials)Beware of platform dependenciesBeware of platform dependencies

10

Page 11: OpenGL ES in theOpenGL ES in the Mobile Graphics Ecosystempeople.csail.mit.edu/kapu/EG_09_MGW/EG2009MobileGraphics... · 2009-04-19 · OpenGL ES in theOpenGL ES in the Mobile Graphics

Getting Started: Information

BooksMost new OpenGL books have some ES materialSome books focus exclusively on OpenGL ESSome books focus exclusively on OpenGL ESCheck dates and API versions covered

11

Page 12: OpenGL ES in theOpenGL ES in the Mobile Graphics Ecosystempeople.csail.mit.edu/kapu/EG_09_MGW/EG2009MobileGraphics... · 2009-04-19 · OpenGL ES in theOpenGL ES in the Mobile Graphics

Getting Started: Development Tools

ES 1.x Desktop ImplementationsVincent (open source)Imagination PowerVR Insider OpenGL ES 1.1 SDKNote: Gerbera is no longer available

ES 1.x Desktop+embedded SDKsSeries 60 SDK from NokiaSymbian SDK from Sony-EricssoniPhone SDK from Apple

ES 2.0 Desktop Implementations / SDKs / ToolsAMD OpenGL ES 2.0 EmulatorPowerVR OpenGL ES 2.0 SDK (from Imagination)AMD Rendermonkey 1.8 (or higher - GLSL ES only)ARM D kt E l t ( il bl 2H 2009)

12

ARM Desktop Emulators (available 2H 2009)

Page 13: OpenGL ES in theOpenGL ES in the Mobile Graphics Ecosystempeople.csail.mit.edu/kapu/EG_09_MGW/EG2009MobileGraphics... · 2009-04-19 · OpenGL ES in theOpenGL ES in the Mobile Graphics

About Open GL ES 2.0 EmulatorsWhat they do

Emulate OpenGL ES 2.0 on desktop hardwareMap ES function calls to a desktop OpenGL 2+ implementationp p p p

Desktop Emulators: ProEasy way to get startedEasy way to get startedLow cost if you have the right 3D cardGreat C/C++ debug environment

Desktop Emulators: ConOnly work with certain graphics cardsy g pEmulation isn’t perfectPerformance, precision, language differences not handled wellDemoing on desktop lacks ‘cool factor’

13

Demoing on desktop lacks cool factor

Page 14: OpenGL ES in theOpenGL ES in the Mobile Graphics Ecosystempeople.csail.mit.edu/kapu/EG_09_MGW/EG2009MobileGraphics... · 2009-04-19 · OpenGL ES in theOpenGL ES in the Mobile Graphics

Embedded ES 2.0 Development ToolsBeagle Board

Open Source board + SWLow cost ($150 US)Low cost ($150 US)TI OMAP: ARM Cortex A8 + SGX GPULinux (various)Currently has a steep learning curve

ARM mass-market development boardARM mass-market development boardARM CPU + Mali™ GPUAvailable 2H 2009

14

Page 15: OpenGL ES in theOpenGL ES in the Mobile Graphics Ecosystempeople.csail.mit.edu/kapu/EG_09_MGW/EG2009MobileGraphics... · 2009-04-19 · OpenGL ES in theOpenGL ES in the Mobile Graphics

Practical ConsiderationsWhat to expect from mobile platforms:CPU Speed

300 to 600 MHzHigh-end platforms will go multicore soon

GPU SpeedPeak fill rates of 200-500MHz in next generation

GPU ArchitectureMost devices use deferred rasterization (tiling or chunking)Few have DXT*; other texture compression (ETC1) is often available

Other ConsiderationsNo virtual memoryLimited file storage

15

Slow networks

Page 16: OpenGL ES in theOpenGL ES in the Mobile Graphics Ecosystempeople.csail.mit.edu/kapu/EG_09_MGW/EG2009MobileGraphics... · 2009-04-19 · OpenGL ES in theOpenGL ES in the Mobile Graphics

ConclusionMobile Graphics is here now!

The market is exploding

The technical possibilities are excitingThe HW / SW platforms are increasingly sophisticatedPerformance is good and getting better

OpenGL ES is a great low level graphics APIOpenGL ES is a great low-level graphics APIMobile friendlyPowerful, modern feature setSimpler and easier to learn than desktop APIs

Y t t t d ith it t d !

16

You can get started with it today!


Recommended