目次 - SDL 3.0 API(機能別) - 3DレンダリングとGPUコンピューティング - SDL_AcquireGPUCommandBuffer

SDL_AcquireGPUCommandBuffer

コマンドバッファを要求する

ヘッダ

SDL3/SDL_gpu.h

構文

SDL_GPUCommandBuffer * SDL_AcquireGPUCommandBuffer(SDL_GPUDevice *device);

引数

SDL_GPUDevice *deviceGPUコンテキスト

戻り値

(SDL_GPUCommandBuffer *) コマンドバッファを戻す. 失敗のときNULLを戻す. SDL_GetError()を呼んで詳細を知ることができる.

詳細

コマンドバッファは実装側で管理されており, ユーザは解放してはならない. コマンドバッファはそれを要求したスレッドからのみ使用できる. コマンドバッファにはそれを要求したスレッドから送信する必要がある.

同一のスレッドから一度に複数のコマンドバッファを要求することは正しい. 実際に, 典型的なデザインパターンでは, フレームバッファごとに2つのコマンドバッファを要求し, 1つはレンダーパスやコンピュートパスに専念させ, もう1つはコピーパスやミップマップの生成などの前準備の作業に専念させている. 2つのコマンドバッファにコマンドを分けることでパスの総量を低減させレンダリングのパフォーマンスを向上させることができる.

バージョン

SDL 3.2.0以降

関連項目

SDL Wikiへのリンク

SDL_AcquireGPUCommandBuffer - SDL Wiki