I am studying the basics of SDL, then I fell into this doubt. I learned that SDL texture is the GPU counterpart of SDL surface which uses CPU. But for getting a surface no renderer argument is given, simply the asset to be loaded was given as the argument. But for converting a surface to texture renderer argument was needed. What am I missing here?
SDL_Surface* pTempSurface=SDL_LoadBMP("image.bmp");
SDL_Texture* pTexture=SDL_CreateTextureFromSurface(m_pRenderer,pTempSurface);