Tool/apis/opengl

From Android中文网

Android中文网(androidcn.net) 版权申明 : creativecommons licenses
Jump to: navigation, search

[编辑] 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:

  1. 编写一个自定义的View子类.
  2. 获得一个OpenGLContext的句柄, 它提供了访问OpenGL 函数的通道.
  3. 在你的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的基本支持, 但这个支持还不完善, 开发者现在暂时不应依赖它来开发.

Personal tools