Copy an existing surface to a new surface of the specified format.
SDL_Surface* SDL_ConvertSurface(SDL_Surface *surface,const SDL_PixelFormat *format);
surface | the existing SDL_Surface structure to convert |
format | the SDL_PixelFormat structure that the new surface is optimized for |
Returns the new SDL_Surface structure that is created or NULL if it fails; call SDL_GetError() for more information.
This function is used to optimize images for faster repeat blitting. This is accomplished by converting the original and storing the result as a new surface. The new, optimized surface can then be used as the source for future blits, making them faster.
This function is available since SDL 3.0.0.
// SDL_Surface *input = ...;
SDL_PixelFormat *format = SDL_CreatePixelFormat(SDL_PIXELFORMAT_RGBA32);0);
SDL_Surface *output = SDL_ConvertSurface(input, format, SDL_DestroyPixelFormat(format);