OpenGL ES In TheOpenGL ES In The Mobile Graphics Ecosystem

2y ago
30 Views
2 Downloads
759.11 KB
16 Pages
Last View : 24d ago
Last Download : 3m ago
Upload by : Sutton Moon
Transcription

OpenGL ES in theMobile GraphicspEcosystemTom OlsonOpenGL ES working group chairDi t GDirector,Graphicshi Research,Rh ARM Ltd1

Outline Why Mobile Graphics?pES Overview OpenGLGStartedSwith OpenGLOG ESS Getting Conclusion2

Why Mobile Graphics? Mobile graphics is growing quickly Embedded platforms will eventually outnumber desktops Factors driving the trend Demand: Consumers want itTechnology: Displays, GPUs, CPUs, batteries, memoryStandards: Operating systems, APIs and the commercial infrastructure is emerging - the rise of opendistribution channels is creating a market for applications3

What is OpenGL ES? OpenGL ES is the dominant C/C API for Mobile 3D Products from every major mobile phone manufacturerMovingg rapidlyp y into other mobile and embedded devices Available for (or a standard part of) most mobile OSes SymbianMac OS X on iPhoneLinux: Maemo, Android, etcBREWWindows Mobile / WinCEPalm OS Over 54 million hardware-accelerated OpenGL ES platformshave shipped to date. Many more are coming.4

OpenGL ES Features Based on desktop OpenGL Leverages the OpenGL ecosystemExtensible to allow innovation / evolution Optimized for mobile devices Gets rid of redundancy & rarely-used featuresAdds mobile-friendly data types Full-Featured All the most used desktop features are available OpenGL ES gives you the power of OpenGL in a muchsmaller package5

OpenGL ES VersionsOpenGL 1.3OpenGL ES 1.0OpenGL 1.5OpenGL 2.xOpenGL 3.xOpenGL ES 2.020OpenGL ES HaltiOpenGL ES 1.1 OpenGL ES Versioning Model OpenGL ES design philosophy is to minimize redundancyWhen new versions add better methods, old methods are droppedNote the difference from desktop GL! OpenGL ES Versions OpenGL ES 1.x: fixed function graphicsOpenGL ES 2.0: shader based graphics6

OpenGL ES 1.1 Key Features Vertex Arrays / Vertex Buffer ObjectsFull Transform & (almost) LightingMultitexturing (min 2 units)DOT3 bump mappingFixed Point & Float profilesFeatures RemovedBegin / EndColor Index ModeImaging SubsetQuads/Polygons7

OpenGL ES 2.0 Key Features Vertex / fragment shadersRemoves fixed function pipelineHigh level language (GLSL ES 1.0)On-line or off-line compilationSuper-compact, efficient APIAdvanced Feature SetEight attribs / varyings / texturesCube MapsDependent texture readsFramebuffer Objects8

What comes next? Working group is committed to supporting OpenGL ES 2.0 Working actively on conformance testing programOngoingg gpprojectsjto improvepdocumentation,, tools,, ecosystemy But, work has begun on OpenGL ES ‘Halti’ Tentative Goals Maintain compatibility with OpenGL ES 2.0Minimize / reduce differences from desktop OpenGL Working closely with OpenGL ARBpES 2.0 to non-deprecatedpsubset of Note similarityy of OpenGLOpenGL 3.0Improve driver efficiencyAdoptp the most modern / advanced features from OpenGLp9

Getting Started: Information Khronos.org Ne s http://www.khronos.orgNews:http //khronos orgKhronos OpenGL ES API registry : /registry/glesOpenGL ES 2.0 man pages: /opengles/sdk/docs/manS Developer Sites ZeusCMD, etc (tutorials)Beware of platform dependencies10

Getting Started: Information Books Most new OpenGL books have some ES materialSome books focus exclusively on OpenGL ESCheck dates and API versions covered11

Getting Started: Development Tools ES 1.x Desktop Implementations Vincent (open source)Imagination PowerVR Insider OpenGL ES 1.1 SDKNote: Gerbera is no longer availableES 1.x Desktop embedded SDKs Series 60 SDK from NokiaSymbian SDK from Sony-EricssoniPhone SDK from AppleES 2.0 Desktop Implementations / SDKs / Tools AMD OpenGL ES 2.0 EmulatorPowerVR OpenGL ES 2.0 SDK (from Imagination)AMD Rendermonkey 1.8 (or higher - GLSL ES only)ARM DesktopD kt EmulatorsE l t(available(il bl 2H 2009)12

About Open GL ES 2.0 Emulators What they do Emulate OpenGL ES 2.0 on desktop hardwareMapp ES function calls to a desktopp OpenGLp2 implementationp Desktop Emulators: Pro Easy way to get startedLow cost if you have the right 3D cardGreat C/C debug environment Desktop Emulators: Con Onlyy work with certain ggraphicspcardsEmulation isn’t perfectPerformance, precision, language differences not handled wellDemoing on desktop lacks ‘coolcool factor’factor13

Embedded ES 2.0 Development Tools Beagle Board Open Source board SWLow cost ( 150 US)TI OMAP: ARM Cortex A8 SGX GPULinux (various)Currently has a steep learning curve ARM mass-market development board ARM CPU Mali GPUAvailable 2H 200914

Practical Considerations What to expect from mobile platforms:CPU Speed 300 to 600 MHzHigh-end platforms will go multicore soonGPU Speed Peak fill rates of 200-500MHz in next generationGPU Architecture Most devices use deferred rasterization (tiling or chunking)Few have DXT*; other texture compression (ETC1) is often availableOther Considerations No virtual memoryLimited file storageSlow networks15

Conclusion Mobile Graphics is here now! The market is exploding The technical possibilities are exciting The HW / SW platforms are increasingly sophisticatedPerformance is good and getting betterlow-levellevel graphics API OpenGL ES is a great low Mobile friendlyPowerful, modern feature setSimpler and easier to learn than desktop APIsY can gett startedt t d withith it today!t d ! You16

What is OpenGL ES? OpenGL ES is the dominant C/C API for Mobile 3D Products from every major mobile phone manufacturer Movinggpy rapidly into other mobile and embedded devices Available for (or a standard part of) most mobile OSes Symbian Mac OS X on iPhone Linux: Maemo, Android, etc BREW Windows Mobile / WinCE Palm OS

Related Documents:

Happy 25th Birthday OpenGL! OpenGL 1.0 - 1992 OpenGL 1.1 - 1997 OpenGL 1.2 - 1998 OpenGL 1.3 - 2001 OpenGL 1.4 - 2002 OpenGL 1.5 - 2003 OpenGL 2.0 - 2004 OpenGL 2.1 - 2006 OpenGL 3.0 - 2008 OpenGL 3.1 - 2009 OpenGL 3.2 - 2009 OpenGL 3.3 - 2010 OpenGL 4.0 - 2010 OpenGL 4.1 - 2010 OpenGL 4.2

OpenGL Programming Guide : Table of Contents OpenGL Programming Guide OpenGL Programming Guide The Official Guide to Learning OpenGL, Version 1.1 About This Guide Chapter 1. Introduction to OpenGL Chapter 2. State Management and Drawing Geometric Objects Chapter 3. Viewing Chapter 4. Color Chapter 5. Lighting Chapter 6. Blending, Antialiasing .

Thinking about Vulkan vs. OpenGL OpenGL, largely understood in terms of Its API, functions for commands and queries And how that API interacts with the OpenGL state machine OpenGL has lots of implicit synchronization Errors handled largely by ignoring command OpenGL API manages various objects But allocation of underlying device resources

CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo "Modern" OpenGL OpenGL 1.0 was released in 1992 - historically very rigid and with a high level API that was dealing with all the pipeline steps "Modern" OpenGL usually refers to the lightweight OpenGL 3 (2008) Barebone, but adaptable: since each API call has a fixed and high .

jumping to the latest OpenGL specification we use minimum required OpenGL 2.1 with the extensions currently available on modest hardware and still be able to use modern OpenGL 3.1 programming principles. Running this tutorial on Linux desktop one requires at least the OpenGL 2.1 graphics with the GLSL 1.2 and supporting libraries GL, GLU, GLUT .

Jan-16-04 SMD159, 2D Graphics in OpenGL 17 L OpenGL function format glVertex3f(x,y,z) belongs to GL library function name x,y,z are floats glVertex3fv(p) p is a pointer to an array Jan-16-04 SMD159, 2D Graphics in OpenGL 18 L OpenGL Classes Most definitions by importing "net.java.games.jogl" .

2 The OpenGL API As of OpenGL 2.0, the shading language features are a required part of the core API. If you have OpenGL 2.0, you need not worry about whether your particular card and driver support the shading language — they must. In OpenGL 1.5, the shading language features were an ARB-approved optional extension.

An industry code of practice is approved by the Minister for Commerce. It takes effect on the day specified in the code or, if no day is specified, on the day it is published in the NSW Government Gazette. An approved industry code of practice may be amended from time to time (or it may be revoked) by publication in the gazette. An approved industry code of practice is designed to be used in .