【问题标题】:Android OpenGL 1.1 FBO and VBO supportAndroid OpenGL 1.1 FBO 和 VBO 支持
【发布时间】:2013-08-17 15:08:31
【问题描述】:

在 Android 的 Java VM 上使用 GL1.1 时,是否有办法实现以下 2 个目标中的任何一个: 1.使用FBO渲染到纹理 2.使用VBO将顶点信息传递给GPU内存

我有一个小型应用程序,它使用顶点数组将数千个纹理渲染到屏幕上,并且存在严重的性能问题。但是,帧不会经常更改,可以缓存在纹理中,也可以在 GPU 内存中准备就绪。

我没有找到关于如何使用旧版本的 OpenGL ES 实现这一目标的工作示例或好的教程。

【问题讨论】:

    标签: android opengl-es vbo fbo


    【解决方案1】:

    我在 Android 上广泛使用了带有 OpenGL ES 2.0 的 FBO,并在 Linux 上使用了 1.1。对于 1.1,您需要 FBO 扩展或使用 pbuffers。如果您的 Android 设备上的 OpenGL ES 1.1 驱动程序报告具有 FBO 扩展,它们应该可以工作。他们中的大多数这样做是因为一些 Android SDK OpenGL ES 演示需要 FBO 扩展。本文有在 Linux 1.1 上使用 FBO 的示例代码:

    http://processors.wiki.ti.com/index.php/Render_to_Texture_with_OpenGL_ES

    我认为 Android SDK 中也有在 1.1 上使用 VBO 的示例,例如“Hello Effects”演示。

    http://software.intel.com/en-us/articles/porting-opengl-games-to-android-on-intel-atom-processors-part-1

    【讨论】:

    • 我通过将 FBO 用作扩展程序来工作。但是,我似乎没有任何将 VBO 与 Java 结合使用的教程或示例,尽管 GL 版本可能支持它们,但 Android 的 Java 接口可能无法提供必要的功能来做到这一点。 (不过,我已经看到了 NDK 的示例)。
    • SDK 中使用 VBO 和 OpenGL ES 1.1 的示例实际上是 CubeMapActivity 和 MatrixPaletteRenderer,它们是图形部分 API Demos 的一部分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多