我有一款适用于 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 了解不多
有没有办法在购买之前强制执行最低系统要求?
您应该在应用程序描述中指定最低系统要求,例如视频显示。但是,在购买之前无法检查或强制执行系统要求。如果您想在安装过程中检查系统功能,您可以在应用程序安装过程中运行自定义程序。
来源: