【问题标题】:Recommended practice environment for OpenGL ES 2.0?OpenGL ES 2.0 的推荐实践环境?
【发布时间】:2011-04-09 16:56:13
【问题描述】:

我决定学习一些 OpenGL ES 2.0,我正在尝试为它选择一个练习平台。什么是可能的目标平台,它可以是 Android、iPhone 或 WebGL。但我不想花太多时间和精力来正确设置环境。

您会推荐 WebGL 来快速开始学习 OpenGL ES 2.0 还是其他方式?

编辑:我正在使用 Mac,目前我对 ES 1.x 并不真正感兴趣。

【问题讨论】:

标签: iphone android platform opengl-es-2.0


【解决方案1】:

如果您在iOS Developer Center(免费)注册为开发人员,则可以下载 Xcode 和 iOS SDK(同样,当您获得 Xcode 3 时免费),其中包括一个支持 OpenGL ES 2.0 的模拟器。这当然假设您有一台 Mac 可以运行所有这些。

拥有 SDK 后,您可以简单地启动 Xcode 并基于 OpenGL ES 应用程序模板创建一个新应用程序。该应用程序将是一个功能齐全的 OpenGL ES 1.1 和 2.0 iOS 应用程序,您可以在模拟器中构建和运行它。您可以忽略所有特定于 iOS 的设置代码,并专注于 xxxViewController.m 类中的 -drawFrame 方法,这是 OpenGL ES 2.0 绘图代码所在的位置。

这可以是一个非常快速的环境来设置使用 OpenGL ES 2.0 着色器。我还尝试了 trenki 建议的 PowerVR SDK 包,并且使用它来设置一些东西需要更多的参与。如果您使用的是 Windows,那么它的解决方案将比我在此处描述的基于 Mac 的 iOS SDK 更可行。

另一个可以在 Mac 上进行原型设计的着色器开发工具是 Quartz Composer。它与 Xcode 一起提供,并为各种效果(包括 OpenGL 着色器)提供视觉原型设计环境。我在here 写的一篇文章中演示了一个做这种原型设计的例子。桌面 GLSL 和 OpenGL ES 中的实现略有不同,但两者之间有很多相同之处。

虽然针对 iOS,但我最近教授了一门关于 OpenGL ES 2.0 的课程,作为可以免费下载 from iTunes U 的课程的一部分。它可能有助于加快着色器的速度。

【讨论】:

  • 我看了讲座,关于 Quartz Composer 的小贴士很棒!
  • @Brad,这些天我一直在看你关于 ES 2.0 的文章和教程,很高兴我找到了它们。您的教学方式非常棒,非常感谢您为教育他人所做的所有努力。一个简单的问题:你试过 kick.js 吗?你会推荐使用它来测试针对 iOS es2.0 设备的着色器吗?
【解决方案2】:

我建议你下载并设置Khronos OpenGL ES 2.0 SDKs for POWERVR SGX PC Emulation 包(不幸的是你必须注册才能下载)。这使您可以在台式计算机上启动并运行所有内容,这将使您的调试工作更加轻松。然后,您可以使用 C/C++ 开发您的 OpenGL ES 2.0 应用程序。

如果我没记错的话,我的 Android 手机(Samsung Galaxy S)也使用这个 OpenGL 实现。

除了使用 Khronos SDK,您还可以使用 Mesa3D 项目中的 OpenGL ES 2.0 库(Ubuntu 在存储库中有它们)。它们运行良好,但我不能推荐它们,因为我已经遇到了结果与 Khronos SDK 实现和我的 Android 设备不同的情况。

编辑:您还必须创建一个窗口和一个 OpenGL 渲染上下文才能实际使用 OpenGL。为此,我可以推荐 SDL (1.3),它也有一个 Android 官方端口。我使用提到的 SDK 在 Android 和 Ubuntu 上对其进行了测试。它允许我对两者使用相同的代码。

【讨论】:

  • 是的,Galaxy S 使用 PowerVR SGX GPU,这是所有现代 iOS 设备中的同一类 GPU。 Imagination 的 SDK 为这些 GPU 提供了很多有趣的东西。
【解决方案3】:

如果它用于游戏开发,请尝试使用框架,这样您就不必自己做小步骤了 :-)。

这里有一些可以帮助您入门(我更喜欢 android :-)):

Android
- Min3d
- Libgdx
- AndEngine

iPhone
- Cocos2d
- Sparrow

WebGL
- Tutorial
- glge

【讨论】:

    【解决方案4】:

    如果你想学习 OpenGL ES 并拥有一个 mac,我推荐这本书:

    http://iphone-3d-programming.labs.oreilly.com/(可以网上看,也可以买,我觉得值得)

    除了 OpenGL 本身,它还解释了一些数学原理,并展示了所有示例的 OpenGL ES 1.1 和 2.0 方式。

    (取决于您想要做什么,有时 1.1 更容易并且套件更好。在 2.0 中,即使您只想绘制单个三角形,您也总是需要着色器。)

    【讨论】:

      【解决方案5】:

      由于Raspberry Pi 支持硬件加速的OpenGL ES 2.0,而且价格相当便宜,它会成为一个很好的平台,即使不是实际开发也可以用于测试。它基本上是上一代智能手机,没有手机位。如果您在其上安装 Linux 发行版(例如 Debian),您就可以开箱即用地对其进行编程。由于它是一个学习平台,因此非常适合此目的。您不会孤单,许多人都在尝试使用 Open GL ES。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-09-30
        • 1970-01-01
        • 1970-01-01
        • 2015-08-08
        • 1970-01-01
        • 2011-06-14
        • 1970-01-01
        相关资源
        最近更新 更多