gpt4 book ai didi

c++ - 纹理的 SDL 渲染器参数但表面不需要

转载 作者:行者123 更新时间:2023-11-28 06:42:20 26 4
gpt4 key购买 nike

我在研究SDL的基础知识,后来就陷入了这个疑惑。我了解到 SDL 纹理是使用 CPU 的 SDL 表面的 GPU 对应物。但是为了获得表面,没有给出渲染器参数,只是将要加载的 Assets 作为参数给出。但是为了将表面转换为纹理,需要渲染器参数。我在这里缺少什么?

SDL_Surface* pTempSurface=SDL_LoadBMP("image.bmp");
SDL_Texture* pTexture=SDL_CreateTextureFromSurface(m_pRenderer,pTempSurface);

最佳答案

SDL_Surface 不使用 SDL_Renderer,它仅由/用于 SDL_TextureSDL_Surfaces 使用 SDL_Flip 从内存复制到屏幕缓冲区。因此,当将位图加载到表面时,不需要渲染器(实际上渲染器在 SDL 2.0 之前不存在),但是当您使用 CreateTextureFromSurface 时,您需要告诉函数纹理应该在其中的渲染器上下文已加载。

也许不是最好的解释,但我希望你能理解。

如果您熟悉 SDL 1.2 但不熟悉 2.0 Migration guide应该对你有帮助。

关于c++ - 纹理的 SDL 渲染器参数但表面不需要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25753456/

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