谁能用简单的语言向我解释一下纹理和表面有什么区别?我看到它用在SDL2
as SDL_Surface
and SDL_Texture
. SDL_Texture
是从创建的SDL_Surface
它又是从图像/位图创建的。两者都是像素的集合。但我没有看到它们之间的主要区别(必须用 GPU 做点什么?)
我试图用谷歌搜索它,但我发现的所有解释都太复杂,如果不深入研究计算机图形学的东西就无法理解它们。
基本上你的假设是“必须用 GPU 做点什么?”是对的。
SDL_Surface
用于software渲染。通过软件渲染,如萨洛米2012 https://stackoverflow.com/a/25386727/735446正确地注意到,您正在使用常规 RAM 来存储图像数据。因此,在大多数情况下,您可以直接访问与表面关联的数据缓冲区,修改其内容,即它正在使用 CPU,因此software name.
SDL_Texture
另一方面,用于hardware渲染时,纹理存储在 VRAM 中,您无法像以下那样直接访问它SDL_Surface
。渲染操作由 GPU 加速,在内部使用 OpenGL 或 DirectX(仅在 Windows 上可用)API,而这些 API 又使用您的视频硬件,因此hardware渲染名称。
不用说,硬件渲染比软件渲染快几个数量级,并且应始终被视为主要选项。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)