11

我假设 SDL 2 在后台使用 OpenGL 渲染(或者如果在 Windows 上可能是 DirectX),这个决定是由 SDl 自己做出的。

我已经看到了直接在 SDL 中使用 OpenGL 的教程,我想知道直接使用 OpenGL 有什么好处,如果有的话?有没有 SDL 无法在本地实现的东西?

4

2 回答 2

11

如果您完全依赖 SDL 功能来实现图形目的,那么您只能访问简单的图像和缓冲区功能

加速 2D 渲染 API:支持简单的旋转、缩放和 alpha 混合,所有这些都使用现代 3D API 加速

但 SDL 还提供 OpenGL 上下文。这意味着您还可以完全访问 OpenGL 功能,包括 3D 对象、着色器等。

您可以使用 SDL 简单地创建上下文并为您提供声音、输入和文件 i/o,并使用OpenGL 为屏幕带来颜色,或使用 SDL 视频 API 来绘制精灵和图像

于 2013-09-16T01:14:51.013 回答
1

http://wiki.libsdl.org/MigrationGuide

可以在幕后使用 Direct3D、OpenGL、OpenGL ES 或软件渲染的简单 2D 渲染 API

SDL2 只是让您轻松开始使用 2D 图形(和其他事项),但您不能仅使用 SDL 进行“真正的 3D”。(或者我不知道什么?)

我不知道 SDL 在“幕后”做什么,但如果您直接使用 OpenGL(或 Direct3D 等其他 API),您可以完全控制代码和渲染过程,而且您不仅限于 SDL 图形 API。

我仅将 SDL 用于创建窗口、图形上下文和使用鼠标等输入设备。

于 2013-09-15T18:58:39.997 回答