SDL_Texture * SDL_CreateTextureFromSurface(SDL_Renderer *renderer, SDL_Surface *surface);
| SDL_Renderer * | renderer | レンダリングコンテキスト |
| SDL_Surface | surface | テクスチャで使うピクセルデータを持つサーフェイス |
この関数はサーフェイスの変更も解放もしない.
このテクスチャのSDL_TextureAccessヒントはSDL_TEXTUREACCESS_STATICである.
生成されるテクスチャのピクセル形式はサーフェイスのピクセル形式とは異なる場合がある. テクスチャのピクセル形式はSDL_PROP_TEXTURE_FORMAT_NUMBERプロパティで得ることができる.
この関数を呼べるのはメインスレッドのみである.
SDL_Renderer *renderer;
SDL_Surface *surface = SDL_CreateSurface(640, 480, SDL_PIXELFORMAT_RGBA8888);
if (surface == NULL) {
SDL_Log("SDL_CreateSurface失敗: %s", SDL_GetError());
exit(1);
}
SDL_Texture *texture = SDL_CreateTextureFromSurface(renderer, surface);
if (texture == NULL) {
SDL_Log("SDL_CreateTextureFromSurface失敗: %s", SDL_GetError());
exit(1);
}
SDL_DestroySurface(surface);
surface = NULL;
// ここでテクスチャを使用する. 使用を終えたら廃棄する
SDL_DestroyTexture(texture);