「ハードウェアインスタンシング」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
− | '''ハードウェアインスタンシング''' ([[英語]]:hardware instancing)とは、[[GPU]]内で3Dモデルを複製する機能のことである。「ジオメトリインスタンシング」や「GPUインスタンジング」などとも呼ばれる。 | + | '''ハードウェアインスタンシング'''([[英語]]:hardware instancing)とは、[[GPU]]内で3Dモデルを複製する機能のことである。「ジオメトリインスタンシング」や「GPUインスタンジング」などとも呼ばれる。 |
− | == 概要 == | + | ==概要== |
− | + | 1回の[[ドローコール]]で、位置などが異なる複数の「同一モデル」を描画することができる。 | |
一般的なドローコールでは「[[バーテックスバッファ]]」と「[[インデックスバッファ]]」を設定して[[GPU]]を呼び出す。 | 一般的なドローコールでは「[[バーテックスバッファ]]」と「[[インデックスバッファ]]」を設定して[[GPU]]を呼び出す。 | ||
− | ハードウェアインスタンジングではこれらに加えて「位置」や「向き」などの情報を格納した「ダイナミックバーテックスバッファ」を設定して[[GPU]] | + | ハードウェアインスタンジングではこれらに加えて「位置」や「向き」などの情報を格納した「ダイナミックバーテックスバッファ」を設定して[[GPU]]を呼び出す。 |
− | == | + | すると[[GPU]]はダイナミックバーテックスバッファを参照して、その個数だけ[[バーテックスシェーダー]]を実行してくれるというものである。 |
− | + | ||
+ | ==対応== | ||
+ | [[ハードウェア]]([[GPU]])が対応している必要があり、未対応の環境では[[ドローコール]]した時点でエラーになる。 | ||
===Windows=== | ===Windows=== | ||
19行目: | 21行目: | ||
===Android=== | ===Android=== | ||
− | [[Android]] | + | [[Android]]ではOpenGL ES 3.0以降で対応している。[[OS]]的には「Android 4.3以降がOpenGL ES 3.0対応」となるが、これ以降のバージョンを搭載している製品でも[[ハードウェア]]的に未対応の製品が多い。 |
つまり[[スマホ]]などの[[OpenGL ES]]系のプラットフォームでは未対応だと思ったほうがいい。 | つまり[[スマホ]]などの[[OpenGL ES]]系のプラットフォームでは未対応だと思ったほうがいい。 | ||
34行目: | 36行目: | ||
==関連項目== | ==関連項目== | ||
− | * | + | *[[ドローコール]] |
− | * | + | *[[メッシュベイカー]] |
− | * | + | *[[擬似インスタンシング]] |
− | * | + | *[[MonoGameでハードウェアインスタンシングしてみる]] |
[[category: 3DCG]] | [[category: 3DCG]] |