为 Ubuntu 软件中心开发 OpenGLES2 应用程序

为 Ubuntu 软件中心开发 OpenGLES2 应用程序

我有一款适用于 iOS 和 Android 的游戏,现在想移植到 Ubuntu。我计划通过 Ubuntu 软件中心分发它。最好是免费,但需要进行应用内购买。

我的代码库目前基于 OpenGL ES2,用 C++ 编写。我可以重写为 OpenGL,但必须有可编程着色器。固定管道 OpenGL 是不够的。

是否有一个功能可让您在 Ubuntu 软件中心指定 OpenGL 要求?我想确保只有拥有兼容硬件的 Ubuntu 用户才能下载我的游戏。

我可以使用哪些 API 来获取合适的 OpenGL 上下文,还是只需要使用 glx 即可?还是必须使用 GTK?

答案1

好的,我得到了以下发现:

您可以从常规 OpenGL 驱动程序请求 OpenGL-ES2 上下文,只要 OpenGL 供应商支持此功能。

我已经确认这适用于:

  • 英特尔集成显卡驱动程序
  • nVidia 专有驱动程序
  • Radeon 开源驱动程序

并且它不适用于:

  • AMD/ATI 专有 fglrx 驱动程序

要检查的扩展是 GLX_EXT_create_context_es2_profile。如果您使用 GLFW 库,您可以通过以下方式请求它:

    glfwWindowHint( GLFW_CLIENT_API, GLFW_OPENGL_ES_API );
    glfwWindowHint( GLFW_CONTEXT_VERSION_MAJOR, 2 );

答案2

免责声明:我不是 opengl 开发人员,所以我对 opengl 了解不多

有没有办法在购买之前强制执行最低系统要求?

您应该在应用程序描述中指定最低系统要求,例如视频显示。但是,在购买之前无法检查或强制执行系统要求。如果您想在安装过程中检查系统功能,您可以在应用程序安装过程中运行自定义程序。

来源

相关内容