SDL Wiki
(This is the documentation for SDL3, which is the current stable version. SDL2 was the previous version!)

SDL_CreateTextureFromSurface

Create a texture from an existing surface.

Header File

Defined in <SDL3/SDL_render.h>

Syntax

SDL_Texture * SDL_CreateTextureFromSurface(SDL_Renderer *renderer, SDL_Surface *surface);

Function Parameters

SDL_Renderer * renderer the rendering context.
SDL_Surface * surface the SDL_Surface structure containing pixel data used to fill the texture.

Return Value

(SDL_Texture *) Returns the created texture or NULL on failure; call SDL_GetError() for more information.

Remarks

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, and can be queried using the SDL_PROP_TEXTURE_FORMAT_NUMBER property.

Thread Safety

You may only call this function from the main thread.

Version

This function is available since SDL 3.1.3.

Code Examples

SDL_Renderer *renderer;

SDL_Surface *surface = SDL_CreateSurface(640, 480, SDL_PIXELFORMAT_RGBA8888);

if (surface == NULL) {
    fprintf(stderr, "CreateRGBSurface failed: %s\n", SDL_GetError());
    exit(1);
}

SDL_Texture *texture = SDL_CreateTextureFromSurface(renderer, surface);

if (texture == NULL) {
    fprintf(stderr, "CreateTextureFromSurface failed: %s\n", SDL_GetError());
    exit(1);
}

SDL_DestroySurface(surface);
surface = NULL;

See Also


CategoryAPI, CategoryAPIFunction, CategoryRender


[ edit | delete | history | feedback | raw ]

[ front page | index | search | recent changes | git repo | offline html ]

All wiki content is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0).
Wiki powered by ghwikipp.