【问题标题】:OpenGL - OS X using GL11OpenGL - 使用 GL11 的 OS X
【发布时间】:2014-08-19 20:20:14
【问题描述】:

我在 Windows 上使用 Java 和 OpenGL 开发游戏,昨天我得到了一个新的 Macbook Pro。 当我将代码从 Windows 机器移动到 OS X 机器时,我收到一个错误,提示无法编译着色器。我在互联网上读到这是因为在 OS X 中您必须将 ProfileCore 设置为 true ,这仅在 OpenGL 3.2 + 中受支持。这是我的问题:对于我的 GUI 和我的文本,我使用 GL10 函数并使用 Slick2D 库。每当我将 OpenGL 版本设置为 3.2 并使用核心配置文件时,游戏运行良好,但 Slick2D 代码出现错误。

  • 我想知道是否有办法使用核心配置文件而不是 3.2 运行 OpenGL
  • 是否有像 Slick2D 这样支持 OpenGL 3.2 的文本库,或者我必须自己创建对纹理图集和文本内容的支持。

【问题讨论】:

    标签: java macos opengl shader lwjgl


    【解决方案1】:

    我没有足够的声誉来发表评论,所以我必须写下这个作为答案。

    核心配置文件是 OSX 中的一种配置,用于设置使用的 OpenGL 版本。 https://developer.apple.com/graphicsimaging/opengl/capabilities/

    Slick2D 应该支持较低的 OpenGL 版本。我在 Linux 和 Windows 上将它与 OpenGL 2.1 版一起使用。我的应用程序也在 OSX 中运行。

    试用核心配置文件 2.1 版。在我的测试中,这是与 PC(和 Mac)最兼容的版本。

    我不完全理解你的第二个问题。您在寻找替代引擎吗? 我可以推荐 libGDX 用于使用 Java 进行跨平台游戏开发。 (http://libgdx.badlogicgames.com/)

    如果您对非 Java 游戏引擎持开放态度,当然可以使用 Unity3D。 (http://unity3d.com/)

    【讨论】:

    • 这实际上是不正确的。核心配置文件是一项 OpenGL 功能,而不是特定于 OSX 的功能。 OpenGL 配置文件刚刚在 GL3.2 中引入。因此没有 GL2.1 核心配置文件。 OSX 现在仅支持 GL2.1 及以下的旧版 GL具有 >=3.2 core 配置文件的现代 GL,它不能向后兼容旧 GL 版本。
    • @derhass 所以基本上你的意思是我需要在 GL 1 - 2.1 或 3.2+ 之间进行选择?
    • @GeorgeClone-y:是的。请注意,开源台面驱动程序也在此处遵循 OSX 的示例:它们还仅在核心配置文件中支持现代 GL。这实际上完全符合规范,因为只需要核心配置文件,兼容性是可选的。
    猜你喜欢
    • 2021-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-05
    • 1970-01-01
    • 1970-01-01
    • 2016-03-26
    相关资源
    最近更新 更多