【问题标题】:Is Cocos2d-x always uses OpenGL?Cocos2d-x 总是使用 OpenGL 吗?
【发布时间】:2014-07-21 07:18:35
【问题描述】:

我能否在我的基于 Cocos2d-x 的应用程序游戏上转而始终使用 OpenGL(以及移动平台中的 OpenGL ES)?由于该库允许在其代码中进行内联 OpenGL 调用,我想知道是否可以使用它们而不必担心可移植性。 Cocos2d-x 还有其他用于渲染的东西吗?就像 Windows 桌面/手机中的 DirectX 以及可能在没有显卡的设备上的软件渲染器?

【问题讨论】:

    标签: c++ opengl opengl-es cocos2d-x cocos2d-x-3.0


    【解决方案1】:

    Cocos2d-x 在所有平台上都使用 OpenGL。

    请记住,在取决于操作系统、GPU 和驱动程序的桌面操作系统上,OpenGL 渲染器可能会退回到某些功能的软件渲染,或者根本不支持它们(绘图故障或错误)。

    此外,用于桌面计算机的 OpenGL 和用于移动设备的 OpenGL ES 在 API 和支持的功能上并不完全兼容。

    【讨论】:

    • 关于 OpenGL Core 和 OpenGL ES 之间区别的部分我已经从其他项目中熟悉了,但是你的意思是 GPU/驱动程序回退到软件渲染器是什么意思?这意味着我的 GL 调用是用软件渲染器而不是 GPU 渲染的?如果是这样,那对我来说也没关系,我只是不希望游戏因为我使用裸 GL 调用而崩溃。
    • 好吧,特别是在 Windows 上,有一些糟糕的(集成的)图形芯片和一些非常低效的驱动程序,或者两者兼而有之。例如,一些驱动程序报告说图形芯片实现了某种 GL 功能,而实际上它没有。如果您的应用程序使用该功能,OpenGL 将为该功能使用软件渲染路径,这会削弱性能或导致渲染问题,或两者兼而有之。较旧的集成英特尔(笔记本电脑)图形芯片以这种不稳定的实现而闻名。
    • 哦,好的,我现在明白了。由于我主要针对移动平台(特别是 Android、iOS 和 Windows Phone),我可以稍后解决桌面版本的问题。非常感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多