目次 - SDL_image 3.0 - IMG_LoadGPUTextureTyped_IO

IMG_LoadGPUTextureTyped_IO

画像をSDL_IOStreamからGPUテクスチャに読み込む

ヘッダ

SDL3_image/SDL_image.h

構文

SDL_GPUTexture * IMG_LoadGPUTextureTyped_IO(SDL_GPUDevice *device, SDL_GPUCopyPass *copy_pass, SDL_IOStream *src, bool closeio, const char *type, int *width, int *height);

引数

SDL_GPUDevice *deviceGPUテクスチャの生成で使用するSDL_GPUDevice
SDL_GPUCopyPass *copy_pass読み込んだ画像をGPUテクスチャにアップロードするために使用するSDL_GPUCopyPass
SDL_IOStream *srcデータの読込元のSDL_IOStream
boolcloseio真のとき戻る前にSDL_IOStreamを自動的に閉じる/解放する. 偽のとき開いたままにする
const char *typeデータの種類を表すファイルの拡張子("BMP", "GIF", "PNG"など)
int *heightGPUテクスチャの高さの代入先へのポインタ. NULLも可

戻り値

(SDL_GPUTexture *) 生成されたGPUテクスチャ, エラーのときNULLを戻す.

詳細

SDL_GPUTextureはGPUメモリ内の画像で, SDLのGPU APIで使用できる. 元の画像の形式に関わらず, この関数はGPUテクスチャをMIPレベルのないSDL_GPU_TEXTUREFORMAT_R8G8B8A8_UNORM形式で生成する. これはサンプリングされたテクスチャとしてグラフィックまたはコンピュートパイプラインから, またはコンピュートパイプラインで読み込み専用ストレージテクスチャとしてバインドされる.

closeioが真の場合, 関数が成功してもしなくても戻る前にsrcは閉じる. SDL_imageはこの呼び出しの間にどのような場合でも必要ならばsrcから全て読み込む.

この関数はファイルの種別を指定できるが, 画像データを別の形式として読み込める場合, SDL_imageは別のデコーダを見つけようとする. しかし, 自動検出できない場合は呼び出し側の画像種別文字列を信頼する. typeがNULLのとき, SDL_imageは何も参考にせずに形式を推定する.

SDL_IOStreamを使わずにディスクからファイルを読み込む別の関数も存在する. IMG_LoadGPUTexture(device, copy_pass, "filename.jpg", width, height)のようにすると, アプリケーションがSDL_IOStreamを操作し, 拡張子からファイル形式を判別する.

IMG_LoadGPUTexture_IO()関数も存在する. これはtypeにNULLを渡した場合のようにSDL_imageがファイル形式を読み込み時に自動的に判別すること以外はこの関数と同じである.

テクスチャを使用し終えたならば, アプリケーションはSDL_ReleaseGPUTexture()を呼んで破棄しなければならない.

バージョン

SDL_image 3.4.0以降

関連項目

SDL Wikiへのリンク

SDL3_image/IMG_LoadGPUTextureTyped_IO