Copy an existing surface to a new surface of the specified format.
Defined in <SDL3/SDL_surface.h>
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);
SDL_Surface *output = SDL_ConvertSurface(input, format);
SDL_DestroyPixelFormat(format);