【发布时间】:2011-10-19 06:27:49
【问题描述】:
我一直在阅读有关 SDL 和 SFML 的大量信息,但无疑错过了一些信息或不理解它。这是我收集到的:
- SDL 目前是标准(最流行)
- SDL 使用 C 和软件渲染(这很慢?)
- SDL 嵌入一切?
- SFML 越来越流行
- SFML 使用 C++(但具有 C 绑定)并利用硬件加速渲染(快速)
- SFML 不会嵌入所有内容?
我必须使用 C 和 OpenGL 来完成我想做的事情。我还需要确保程序尽可能便携。但是,它不会很慢。
我该怎么办?
【问题讨论】:
-
如果您使用 OpenGL 和 SDL,除非您的驱动程序有问题,否则它不会使用软件渲染。
-
以下是我的建议来源:gpwiki.org/forums/viewtopic.php?p=129157#p129157 和 cplusplus.com/forum/lounge/24975/#msg132778 两者都表明至少 2D 渲染是基于软件而不是硬件。
-
如果您使用纯 OpenGL 进行 2D,那是无稽之谈。无论哪种方式,除非您的驱动程序损坏,否则它将是硬件。但是,如果您在 2D 中使用非 OpenGL SDL 函数,那肯定是软件。
-
@R.. 将 OpenGl 用于 2D 是有道理的。可以使用 3D 管道来渲染平面图元 - 这将使您受益于硬件加速及其所有美妙的功能。用 CPU 渲染 2D 毫无意义。
-
抱歉,我的评论在语法上不明确。我指出,如果您谈论的是基于 OpenGL 的 2D 渲染,那么使用 SDL “2D 渲染基于软件”的说法是无稽之谈。我从来没有打算说你不应该将 OpenGL 用于 2D。
标签: c opengl cross-platform sdl sfml