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

SDL_DrawGPUIndexedPrimitives

インデックスバッファを使用しインスタンス化を有効にしたバインドされたグラフィックステートでデータを描画する

ヘッダ

SDL3/SDL_gpu.h

構文

void SDL_DrawGPUIndexedPrimitives(SDL_GPURenderPass *render_pass, Uint32 num_indices, Uint32 num_instances, Uint32 first_index, Sint32 vertex_offset, Uint32 first_instance);

引数

SDL_GPURenderPass *render_passレンダーパスハンドル
Uint32num_indicesインスタンスあたりの描画するインデックスの数
Uint32num_instances描画するインスタンスの数
Uint32first_indexインデックスバッファの先頭インデックス番号
Sint32vertex_offset頂点バッファをインデックスで指定する前に頂点インデックスに加算する値
Uint32first_instance描画する先頭インスタンスのID

詳細

この関数をグラフィックパイプラインをバインドする前に呼んではならない.

first_vertexfirst_instanceは, シェーダの組込変数頂点/インスタンスID(例えばSV_VertexID)とは互換ではないので注意すること. GPU APIとシェーダ言語はこれらの組込変数を一貫性を保って定義していない. そのためシェーダがこれらに依存している場合, 動作の一貫性と移植性を保つ唯一の方法は, 描画の呼び出しで関連の引数に常に0を渡すことである.

バージョン

SDL 3.2.0以降

SDL Wikiへのリンク

SDL_DrawGPUIndexedPrimitives - SDL Wiki