6fc27f79b4
BUG=1810005 Automated import of CL 147793
54 lines
2.3 KiB
Plaintext
54 lines
2.3 KiB
Plaintext
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), 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>
|