Android includes support for high performance 2D and · processing hardware. OpenGL ES is a flavor...

3
[email protected] embeddedact.com Android includes support for high performance 2D and 3D graphics with the Open Graphics Library (OpenGL®), specifically, the OpenGL ES API. OpenGL is a cross-platform graphics API that specifies a standard software interface for 3D graphics processing hardware. OpenGL ES is a flavor of the OpenGL specification intended for embedded devices. Android supports several versions of the OpenGL ES API: OpenGL ES 1.0 and 1.1 - This API specification is supported by Android 1.0 and higher. OpenGL ES 2.0 - This API specification is supported by Android 2.2 (API level 8) and higher. OpenGL ES 3.0 - This API specification is supported by Android 4.3 (API level 18) and higher. OpenGL ES 3.1 - This API specification is supported by Android 5.0 (API level 21) and higher. Android supports OpenGL both through its framework API and the Native Development Kit (NDK). This topic focuses on the Android framework interfaces. For more information about the NDK, see the Android NDK. This program is towards how to develop mobile graphics using OpenGL ES for Android. 1. Introduction to 3-D Graphics 1.1. Basic Terminology 1.2. 3-D Graphics Pipeine 2. Introduction to OpenGL ES API 2.1. What is OpenGL ES 2.2. OpenGL ES Standard libraries and headers 2.3. Naming conventions 2.4. Rendering Pipeline 2.5. State machine 3. Android and OpenGL ES 3.1. Set up OpenGL ES project 3.2. EGL Library 3.3. Setup using SurfaceView & GLSurfaceView 3.4. Configuring OpenGL ES Context 3.5. Setting up Viewport 3.6. Setting up Projections 3.6.1. Perspective

Transcript of Android includes support for high performance 2D and · processing hardware. OpenGL ES is a flavor...

Page 1: Android includes support for high performance 2D and · processing hardware. OpenGL ES is a flavor of the OpenGL specification intended for embedded devices. Android supports several

[email protected] embeddedact.com

Android includes support for high performance 2D and 3D graphics with the Open Graphics Library (OpenGL®), specifically, the OpenGL ES API. OpenGL is a cross-platform graphics API that specifies a standard software interface for 3D graphics processing hardware. OpenGL ES is a flavor of the OpenGL specification intended for embedded devices. Android supports several versions of the OpenGL ES API:• OpenGL ES 1.0 and 1.1 - This API specification is

supported by Android 1.0 and higher.

• OpenGL ES 2.0 - This API specification is supported by Android 2.2 (API level 8) and higher.

• OpenGL ES 3.0 - This API specification is supported by Android 4.3 (API level 18) and higher.

• OpenGL ES 3.1 - This API specification is supported by Android 5.0 (API level 21) and higher.

Android supports OpenGL both through its framework API and the Native Development Kit (NDK). This topic focuses on the Android framework interfaces. For more information about the NDK, see the Android NDK. This program is towards how to develop mobile graphics using OpenGL ES for Android.

1. Introductionto3-DGraphics1.1. BasicTerminology1.2. 3-DGraphicsPipeine

2. IntroductiontoOpenGLESAPI2.1. WhatisOpenGLES2.2. OpenGLESStandardlibrariesandheaders2.3. Namingconventions2.4. RenderingPipeline2.5. Statemachine

3. AndroidandOpenGLES3.1. SetupOpenGLESproject3.2. EGLLibrary3.3. SetupusingSurfaceView&GLSurfaceView3.4. ConfiguringOpenGLESContext3.5. SettingupViewport3.6. SettingupProjections

3.6.1. Perspective

Page 2: Android includes support for high performance 2D and · processing hardware. OpenGL ES is a flavor of the OpenGL specification intended for embedded devices. Android supports several

[email protected] embeddedact.com

3.6.2. Orthographic3.7. ShaderBasics

3.7.1. Fragment&VertexShader3.7.2. LoadingandComplilingShaders

4. DrawingBasics

4.1. 2-DCoordinateSystem4.2. 3-DCoordinateSystem4.3. DrawingStates4.4. PassinggeometrytoOpenGL

4.4.1. BufferObjects4.4.2. VertexBufferObjects

4.5. DrawingPrimitives4.6. MatrixManagement4.7. Camera4.8. Animation

5. Viewing5.1. ViewingandModellingTransformations5.2. ProjectionTransformation5.3. Clippingplanes5.4. HiddenSurfaceRemoval5.5. Culling

6. Colors,Material&Lighting6.1. ColorShademodel6.2. DefiningMaterialproperties6.3. LightingBasics6.4. LightModelsinOpenGL6.5. Creatinglightsources

7. AlphaBlending7.1. BlendingBasics7.2. BlendingEquation

8. TextureMapping8.1. Texturebasics8.2. LoadingTextures8.3. TextureFiltering8.4. TextureObjects8.5. MappingTexturetogeometry

9. InteractiveGraphics9.1. GLSurfaceViewandOpenGLES9.2. TouchEvents

10. GLShadingLanguage(GLSL)10.1. IntroductiontoProgrammableOpenGLPipeline10.2. ComparingFixedfunctionandprogrammable

pipeline10.3. OpenGLShaderprogrammingmodel

Page 3: Android includes support for high performance 2D and · processing hardware. OpenGL ES is a flavor of the OpenGL specification intended for embedded devices. Android supports several

[email protected] embeddedact.com

10.4. IntroductiontoGLSL10.5. SimpleShaderexample

11. VertexShader11.1. VertexShaderbasics11.2. CustomizedVertexTransformation11.3. Lighting

12. FragmentShader12.1. Fragmentshaderbasics12.2. ManipulateColor12.3. Imageprocessing

13. Framebuffer13.1. ComponentsofFramebuffer13.2. StencilBuffer

14. FrameBufferObjects14.1. Introduction14.2. UsingFrameBufferObjects14.3. RenderingonTextures

15. IntroductiontoOpenGL3.x15.1. What’snewinOpenGLES3.0,3.1and3.215.2. Examples

********