gpt4 book ai didi

c - 表面和纹理的区别(SDL/通用)

转载 作者:太空狗 更新时间:2023-10-29 16:16:11 25 4
gpt4 key购买 nike

谁能用简单的话向我解释纹理和表面之间的区别是什么?我看到它在 SDL2 中用作 SDL_SurfaceSDL_TextureSDL_Texture 是从 SDL_Surface 创建的,后者又是从图像/位图创建的。两者都是像素的集合。但我看不出它们之间的主要区别(必须用 GPU 做些什么?)

我试着用谷歌搜索,但我发现所有的解释都太复杂了,如果不深入研究计算机图形学的东西就无法理解。

最佳答案

基本上您的假设“必须对 GPU 做些什么?”是对的。

SDL_Surface 用于软件 渲染。用软件渲染,如saloomi2012正确注意到,您正在使用常规 RAM 来存储图像数据。因此,在大多数情况下,您可以直接访问与表面关联的数据缓冲区,修改其内容,即它正在使用 CPU,因此是软件名称。

SDL_Texture 另一方面,用于硬件 渲染,纹理存储在 VRAM 中,您无法像 那样直接访问它SDL_Surface。渲染操作由 GPU 加速,在内部使用 OpenGL 或 DirectX(仅在 Windows 上可用)API,这反过来又使用您的视频硬件,因此硬件渲染名称。

不用说,硬件渲染比软件渲染快几个数量级,应始终将其视为主要选项。

关于c - 表面和纹理的区别(SDL/通用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21392755/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com