C++ SDL渲染器参数用于纹理,但不需要用于曲面

C++ SDL渲染器参数用于纹理,但不需要用于曲面,c++,sdl,game-engine,sdl-2,C++,Sdl,Game Engine,Sdl 2,我正在学习SDL的基础知识,然后我陷入了这种怀疑。我了解到SDL纹理是使用CPU的SDL表面的GPU对应物。但是,对于获取曲面,没有给定渲染器参数,只是将要加载的资源作为参数。但要将曲面渲染器转换为纹理渲染器,则需要参数。我错过了什么 SDL_Surface* pTempSurface=SDL_LoadBMP("image.bmp"); SDL_Texture* pTexture=SDL_CreateTextureFromSurface(m_pRenderer,pTempSurface); S

我正在学习SDL的基础知识,然后我陷入了这种怀疑。我了解到SDL纹理是使用CPU的SDL表面的GPU对应物。但是,对于获取曲面,没有给定渲染器参数,只是将要加载的资源作为参数。但要将曲面渲染器转换为纹理渲染器,则需要参数。我错过了什么

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

SDL_曲面
不使用
SDL_渲染器
,它仅由/for
SDL_纹理
使用<代码>SDL_曲面通过
SDL_翻转
从内存复制到屏幕缓冲区。因此,当将位图加载到曲面中时,不需要渲染器(事实上,在SDL 2.0之前不存在渲染器),但当使用
CreateTextureFromSurface
时,需要告诉函数应该加载纹理的渲染器上下文

也许这不是最好的解释,但我希望你能有所不同

如果您熟悉SDL1.2,但不熟悉2.0,则应该会对您有所帮助