Create a texture from an existing surface.
Defined in <SDL3/SDL_render.h>
SDL_Texture* SDL_CreateTextureFromSurface(SDL_Renderer *renderer, SDL_Surface *surface);
renderer | the rendering context |
surface | the SDL_Surface structure containing pixel data used to fill the texture |
Returns the created texture or NULL on failure; call SDL_GetError() for more information.
The surface is not modified or freed by this function.
The SDL_TextureAccess hint for the created texture is SDL_TEXTUREACCESS_STATIC
.
The pixel format of the created texture may be different from the pixel format of the surface. Use SDL_QueryTexture() to query the pixel format of the texture.
This function is available since SDL 3.0.0.
SDL_Renderer *renderer;
640, 480, SDL_PIXELFORMAT_RGBA8888);
SDL_Surface *surface = SDL_CreateSurface(
if (surface == NULL) {
"CreateRGBSurface failed: %s\n", SDL_GetError());
fprintf(stderr, 1);
exit(
}
SDL_Texture *texture = SDL_CreateTextureFromSurface(renderer, surface);
if (texture == NULL) {
"CreateTextureFromSurface failed: %s\n", SDL_GetError());
fprintf(stderr, 1);
exit(
}
SDL_DestroySurface(surface); surface = NULL;
CategoryAPI, CategoryAPIFunction, CategoryRender