【问题标题】:Can anoyone provide a good tutorial/book/code example for OpenGL ES 1.1 for ARM? [closed]任何人都可以为 ARM 的 OpenGL ES 1.1 提供一个好的教程/书籍/代码示例吗? [关闭]
【发布时间】:2012-10-12 06:14:32
【问题描述】:

我搜索了一些 OpenGL ES 1.1 的教程,以便能够在 ARM 11 eva 板上编写一个小演示应用程序;我面临的问题是,我发现的所有内容都适用于 iOS 或 Android 或使用 GLUT 的东西。我想要一些“纯”OpenGL ES 1.1。

谢谢!

【问题讨论】:

  • 如果没有关于特定 ARM CPU 的更多详细信息,可能是主板本身,以及主板上运行的操作系统,我不确定是否可以回答这个问题。 GLUT 只是抽象设置“家务”的一种方式,因此您可以开始使用 OpenGL api。 “纯”OpenGL ES api 本身不会包含特定于 ARM 的内容。
  • 好吧,假设我需要编写一个小演示,它只包含 OpenGL ES 1.1 库,没有其他类似 GLUT 的东西;独立于平台。
  • @emmerich:嗯,你不能完全独立于平台。 ARM 只是一种 CPU 架构,但系统之间存在很大差异。您是针对 NVidia Tegra 还是针对具有 PowerVR 内核的 TI OMAP/Sitara?此外,您的目标是哪个操作系统? IOS?安卓? Linux+X11? Linux+EGL?
  • @datenwolf: ARM11,类似这样:bit.ly/UPAFsU 使用 Linux 2.6,没有 X,直接到帧缓冲区

标签: opengl-es arm armv6 opengl-es-1.1


【解决方案1】:

ARM 只是一个指令集(没有 ARMv11 指令集顺便说一句——核心对于编程并不那么重要(在此处编辑))。您正在处理的是带有一些未指定 3D 加速器的 SoC。此外,没有关于 GPU 编程模型的文档,ST 网页上也没有针对它的驱动程序包。这基本上意味着你或多或少不走运。

OpenGL(-ES) 只是一个 API 规范,即书面文本。人们需要它的实际工作实现。这称为驱动程序。现在你肯定在使用一些已经存在的产品。该产品的供应商将集成一些操作系统、驱动程序和库,并且可能为此(或不)提供 SDK。无论你要编程什么,它都必须适合这个基础设施。如果此基础架构提供 OpenGL-ES,那么可能会有一些 EGL 变体在帧缓冲区上创建 OpenGL-ES 上下文。

请注意,如果您在没有 GPU 支持(即软件光栅化器)的情况下直接渲染到帧缓冲区,那么您可以使用 Mesa3D and its variant of EGL。但是考虑到你在一个相当慢的平台上运行,性能会很糟糕。

如果您想为具有公平 GPU 支持的嵌入式平台编写代码,我建议您使用 TI Sitara/OMAP 系统。 TI 为其中的 PowerVR 内核提供二进制 OpenGL-ES 驱动程序包。

【讨论】:

  • 是的,我确实有可用的 EGL;我从他们那里得到了一个简单的金字塔旋转的例子,但我想做更多的事情,也许会以某种方式得到一个在 Blender 中生成的 3D 模型,以便导出并在演示应用程序中使用。我还得挖……
  • @emmerich:好吧,如果你有一个有效的 EGL 示例,那么你就准备好了。只需用您想要的任何内容替换该金字塔的绘图代码即可。棘手的部分是获取 EGL 上下文。一旦你得到那个,你就可以使用OpenGL-ES并完成它。
  • 现在对我来说棘手的部分似乎是“只使用 OpenGL-ES”,因为到目前为止我还没有任何经验;我想通过互联网将 3D 对象从混合器导出到 OpenGL ES 并运行演示;由于我不知道如何直接创建对象,您对此有什么了解或类似的事情吗?谢谢!
  • @emmerich:OpenGL 和 OpenGL-ES 没有关于“对象”的概念,它们所做的只是在屏幕上绘制花哨的点、线和三角形,仅此而已。对您来说,一个区别很重要:您处理的是 OpenGL-ES 1 还是 OpenGL-ES 2?前者采用固定功能管道,而其他则使用着色器。 –– 关于学习经验,我建议您首先学习如何在桌面上使用常规的 OpenGL,这样在嵌入式方面会变得非常容易。我推荐 Nicol Bolas 在arcsynthesis.org/gltut 上找到的教程——OpenGL-ES 2 的大部分内容都非常相似。
  • OpenGL ES 1.1;非常感谢!
猜你喜欢
  • 2010-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-24
  • 2011-02-11
相关资源
最近更新 更多