Tool/apis/opengl
From Android中文网
[编辑] Andriod中的OpenGL
Android提供了对3D的硬件加速, 由OpenGL API, 确切地说, 是OpenGL ES API来具体实现. OpenGL ES是OpenGL标准针对嵌入式设备提供的一个子集. OpenGL ES的版本号并非严格对应标准OpenGL的版本号. 目前Android所支持的OpenGL ES 1.0 对应的是标准版OpenGL 1.3. 因此, 如果您的程序是基于桌面版的OpenGL 1.3, 那么它应当会正常运行于Android之上. Android提供的这套API类似于J2ME中的JSR239 OpenGL ES API, 但两者并非完全一致, 使用者应注意差异.
[编辑] Using the API API的使用
下面展示了如何在高级界面中使用这套API:
- 编写一个自定义的View子类.
- 获得一个OpenGLContext的句柄, 它提供了访问OpenGL 函数的通道.
- 在你的View类的onDraw()方法中, 获得一个GL对象的句柄, 然后调用其方法来实现GL的各种操作.
这种使用模式的例子, 可以查看 ApiDemos 例子代码工程中的com.google.android.samples.graphics.GLView1.java 这个类. 另一个更复杂的例子com.google.android.samples.graphics.GLSurfaceViewActivity.java展示了如何使用线程. 介绍如何实际使用OpenGL来编写3D应用程序不属于本文的范畴, 在这里留给读者作为练习.
[编辑] 附加信息的链接
关于OpenGL ES 的更多信息可以访问:http://www.khronos.org/opengles/ OpenGL ES 1.0规范(包扩详细的规范说明)可以访问: http://www.khronos.org/opengles/1_X/ Android OpenGL ES implementation的文档同样可用. 最后, 需要注意的是虽然Android中包含了一些OpenGL ES 1.1的基本支持, 但这个支持还不完善, 开发者现在暂时不应依赖它来开发.
