【发布时间】:2012-09-12 11:40:01
【问题描述】:
我有点卡在 SDL2 纹理背后的逻辑上。对我来说,它们毫无意义,因为你无法吸引它们。
在我的程序中,我有几个表面(或者在我切换到 SDL2 之前是是表面),我只是将它们拼凑在一起形成层。现在看来,我必须创建几个渲染器和纹理来创建相同的效果,因为SDL_RenderCopy 需要一个纹理指针。
不仅如此,所有渲染器都必须来自一个窗口,这我理解,但仍然让我更讨厌。
这一切看起来都非常庞大和缓慢。我错过了什么吗?有没有办法直接绘制到纹理?纹理的意义何在?我可以安全地使用多个(如果不是数百个)渲染器来代替表面吗?
【问题讨论】:
-
引入 2.0 后 SDL 架构发生的变化迫使我进入 SFML。由于 API 的变化,我无法重新构建我的整个程序;基本上,没有像 SFML 支持的屏幕外渲染。
-
SDL2 处于预发布状态。现在判断它并不完全公平。尽管是一个 WIP,但开发人员一直很友好地让我们在它的进展过程中搞砸它。
-
@Di-0xide 旧 wiki 仍然可用。 libsdl.org/cgi/docwiki.cgi
-
三年后回想起来,我不明白什么是图形纹理。对于那些仍在投票的人,请记住纹理不一定是图像或图形;它们实际上是发送到卡上的任何数据。
-
又过了三年,response I wrote for a Reddit ELI5 有点意义链接。这是对图形管道如何工作的非常简单的解释,并涉及一些基本理论。如果有人发现这对这个主题是全新的,那么很好的潜水点。
标签: c++ textures sdl renderer sdl-2