Download presentation
Presentation is loading. Please wait.
Published byAbel White Modified over 6 years ago
1
Advanced Graphics Algorithms Ying Zhu Georgia State University
3D Graphics on Mobile Devices
2
Applications Games Map visualization and navigation User interface
Animated message Screen savers
3
The challenges The challenges of developing 3D graphics content for mobile devices Battery power Heat management (no room for fans) Small, low resolution displays CPU Memory Slow system bus Download size limits Input devices Sound
4
The challenges The challenges of developing 3D graphics content for mobile devices (continued) No floating point hardware No integer divide hardware Multi-tasking (phone calls, texting, etc.) Device fragmentation (different operating systems, different graphics chips, different architectures, different input devices)
5
3D graphics APIs for mobile devices
Image courtesy of “Mobile Graphics” course at ACM SIGGRAPH 2007
6
OpenGL ES “OpenGL® ES is a low-level, lightweight API for advanced embedded graphics using well-defined subset profiles of OpenGL.” “It provides a low-level applications programming interface (API) between software applications and hardware or software graphics engines.”
7
OpenGL ES OpenGL ES is subset of OpenGL specification
Eliminated functions that are not suitable for mobile devices Lightweight and low footprint
8
OpenGL ES and OpenGL Not in OpenGL ES Kept in OpenGL ES 1.0 and 1.1
glBegin() and glEnd() Vertex array Polygons and quads Points, lines, triangles GLU functions Most of the lighting related functions Display lists, accumulation buffer 3D texture mapping, cube mapping 2D texture mapping, multitexturing, texture filter glPushMatrix() and glPopMatrix() Transformations DrawPixels, PolygonMode, polygon stipple, anti-aliased polygon rendering, etc. Vertex buffer objects, etc.
9
OpenGL ES OpenGL ES pipelines
10
OpenGL ES 2.0 Released in 2007 Replaced the fixed function pipeline with programmable shaders Transformation and lighting functions are replaced by shaders OpenGL ES 2.0 is not backward compatible with OpenGL ES 1.1
11
OpenGL ES 2.0
12
OpenGL ES 2.0
13
Software implementation
Reference implementation
14
Hardware implementation
Nvidia Sony PSP AMD ARM Toshiba Mitsubishi and more …
15
OpenGL ES usage OpenGL ES 1.0 OpenGL ES 1.1 OpenGL ES 2.0
Official 3D graphics API for Symbian, Android, and Playstation 3 OpenGL ES 1.1 3D library for iPhone SDK OpenGL ES 2.0 3D library for Pandora console
16
Mobile 3D Graphics API (M3G)
M3G is an optional API for Java ME The commonly used version is JSR-184 The latest version is JSR-297 Can be implemented on top of OpenGL ES M3G for Java ME is defined in package javax.microedition.m3g Can be quite slow compared with OpenGL ES or Mascot Capsule applications
17
M3G M3G is a scene graph based API
E.g. objects and transformations are organized in a tree hierarchical structure A high level API (e.g. supports hierarchical transformation and animation)
18
M3G Defines a scene graph structure World (the root) Node Object3D
Camera Group Light Mesh SinnedMesh Sprite3D MorphingMesh
19
M3G Defines a file format for managing and deploying 3D content
Provides a Loader class to download and deserialize graph nodes and node components, as well as entire scene graphs
20
M3G Graphics3D A singleton 3D graphics context that can be bound to a rendering target. All rendering is done through the render() methods in this class. The most important class
21
M3G Other features supported by M3G VertexArray Transform Material
Texture2D RayIntersection Fog AnimationController AnimationTrack KeyframeSequence
22
Development tools NetBeans Mobility EclipseME And many other tools …
EclipseME And many other tools …
23
Other mobile graphics APIs
Mascot Capsule A real-time 3D rendering engine for mobile devices Emphasis on performance (faster than M3G) Used mostly in Japan Windows Mobile DirectX and Direct3D
24
Resources ACM SIGGRAPH 2007 course “The Mobile 3D Ecosystem”
IEEE Computer Graphics and Applications, Vol. 28, No. 4, 2008 special issue on Mobile Graphics “Mobile Computer Graphics” course at Lund University, Sweden
25
Resources OpenGL ES Mobile 3D Graphics API (M3G)
Mobile 3D Graphics API (M3G) JSR 184 ( JSR 297 ( Kari Pulli, Tomi Aarnio, Ville Miettinen, Kimmo Roimela, Jani Vaarala: Mobile 3D Graphics with OpenGL ES and M3G, Morgan Kaufmann, 2007
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.