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

SDL_DrawGPUPrimitives

バインドしたグラフィックステートを使用してデータを描画する

ヘッダ

SDL3/SDL_gpu.h

構文

void SDL_DrawGPUPrimitives(SDL_GPURenderPass *render_pass, Uint32 num_vertices, Uint32 num_instances, Uint32 first_vertex, Uint32 first_instance);

引数

SDL_GPURenderPass *render_passレンダーパスハンドル
Uint32num_vertices描画する頂点の数
Uint32num_instances描画するインスタンスの数
Uint32first_vertex描画する頂点の先頭のインデックス番号
Uint32first_instance描画するインスタンスの先頭のID

詳細

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

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

バージョン

SDL 3.2.0以降

SDL Wikiへのリンク

SDL_DrawGPUPrimitives - SDL Wiki