diff options
Diffstat (limited to 'docs/html/guide/topics/graphics/opengl.jd')
-rw-r--r-- | docs/html/guide/topics/graphics/opengl.jd | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/docs/html/guide/topics/graphics/opengl.jd b/docs/html/guide/topics/graphics/opengl.jd new file mode 100644 index 0000000..eb2932d --- /dev/null +++ b/docs/html/guide/topics/graphics/opengl.jd @@ -0,0 +1,56 @@ +page.title=3D with OpenGL +parent.title=2D and 3D Graphics +parent.link=index.html +@jd:body + + +<p>Android includes support for high performance 3D graphics +via the OpenGL API — specifically, the OpenGL ES API.</p> + +<p>OpenGL ES is a flavor of the OpenGL specification intended for embedded +devices. Versions of <a href="http://www.khronos.org/opengles/">OpenGL ES</a> are loosely peered to versions of the primary +OpenGL standard. Android currently supports OpenGL ES 1.0, which corresponds +to OpenGL 1.3. So, if the application you have in mind is possible with OpenGL +1.3 on a desktop system, it should be possible on Android.</p> + +<p>The specific API provided by Android is similar to the J2ME JSR239 OpenGL +ES API. However, it may not be identical, so watch out for deviations.</p> + +<h2>Using the API</h2> + +<p>Here's how to use the API at an extremely high level:</p> + +<ol> +<li>Write a custom View subclass.</li> +<li>Obtain a handle to an OpenGLContext, which provides access to the OpenGL functionality.</li> +<li>In your View's onDraw() method, get a handle to a GL object, and use its methods to perform GL operations.</li> +</ol> + +<p>For an example of this usage model (based on the classic GL ColorCube), +see +<a href="{@docRoot}guide/samples/ApiDemos/src/com/example/android/apis/graphics/GLSurfaceView.html">com.android.samples.graphics.GLSurfaceView.java</a> +in the ApiDemos sample code project. A slightly more sophisticated version showing how to use +it with threads can be found in +<a href="{@docRoot}guide/samples/ApiDemos/src/com/example/android/apis/graphics/GLSurfaceViewActivity.html">com.android.samples.graphics.GLSurfaceViewActivity.java</a>. +</p> + +<p>Writing a summary of how to actually write 3D applications using OpenGL is +beyond the scope of this text and is left as an exercise for the reader.</p> + +<h2>Links to Additional Information</h2> + +<p>Information about OpenGL ES can be +found at <a title="http://www.khronos.org/opengles/" +href="http://www.khronos.org/opengles/">http://www.khronos.org/opengles/</a>.</p> + +<p>Information specifically +about OpenGL ES 1.0 (including a detailed specification) can be found +at <a title="http://www.khronos.org/opengles/1_X/" +href="http://www.khronos.org/opengles/1_X/">http://www.khronos.org/opengles/1_X/</a>.</p> + +<p>The documentation for the Android {@link javax.microedition.khronos.opengles +OpenGL ES implementations} are also available.</p> + +<p>Finally, note that though Android does include some basic support for +OpenGL ES 1.1, the support is <strong>not complete</strong>, and should not be relied +upon at this time.</p> |