3D API By Clayton Azzopardi (Group 10)
Introduction Android uses the OpenGL ES 1.0 API Android uses the OpenGL ES 1.0 API Open Graphics Library for Embedded Systems Open Graphics Library for Embedded Systems Cross-language and Cross-platform Cross-language and Cross-platform Low-level and lightweight API Low-level and lightweight API Used to draw 2D and 3D graphics Used to draw 2D and 3D graphics
Advantages Open Industry Graphics Standard Open Industry Graphics Standard Innovative & Controlled Evolution Innovative & Controlled Evolution Ideal for Portable Devices Ideal for Portable Devices Based on OpenGL Based on OpenGL Hardware & Software Rendering Hardware & Software Rendering
Functionality (1/3) – Geometry Processing Data types Data types Vertex Arrays Vertex Arrays Used for drawing objects Specify colours, normals and texture coordinates Primitives Primitives e.g. POINTS, LINES, TRIANGLE etc. Coordinate Transformation Coordinate Transformation Viewport DepthRange Vertex Lighting Vertex Lighting ShadeModel ShadeModel
Functionality (2/3) – Rasterization Converting a primitive to a 2D image on the screen Converting a primitive to a 2D image on the screen Anti-aliasing Anti-aliasing Polygons Face Culling Polygons Face Culling Polygon Offset Polygon Offset
Functionality (3/3) – Texture Mapping Applying an image data to a primitive Supports only 2D textures Supports only 2D textures Texture Clamping (edge_clamp) Texture Clamping (edge_clamp) Wrapping (wrap_repeat) Wrapping (wrap_repeat) Compressed Texture Compressed Texture Multitexture Multitexture RGBA & Packed Pixel Formats RGBA & Packed Pixel Formats Filtering Filtering
Examples (1/2)
Examples (2/2)
References OpenGL ES Common/Common-Lite Profile Specification Version The OpenGLR Graphics System: A Specification (Version 1.3) OpenGL® SUPERBIBLE Fourth Editionhttp:// ultra.org/publications/CAMTech_ULTRA_topics% _v01-3.pdf