「ハードウェアインスタンシング」の版間の差分
imported>Administrator |
Administrator (トーク | 投稿記録) 編集の要約なし |
||
| (同じ利用者による、間の1版が非表示) | |||
| 1行目: | 1行目: | ||
'''ハードウェアインスタンシング'''([[英語]]:hardware instancing)とは、[[GPU]]内で3Dモデルを複製する機能のことである。「ジオメトリインスタンシング」や「GPUインスタンジング」などとも呼ばれる。 | '''ハードウェアインスタンシング''' ([[英語]]:hardware instancing)とは、[[GPU]]内で3Dモデルを複製する機能のことである。「ジオメトリインスタンシング」や「GPUインスタンジング」などとも呼ばれる。 | ||
==概要== | == 概要 == | ||
ハードウェアインスタンシングは1回の[[ドローコール]]で「位置」や「向き」などが異なる複数の「同一モデル」を描画することができるという機能である。 | |||
一般的なドローコールでは「[[バーテックスバッファ]]」と「[[インデックスバッファ]]」を設定して[[GPU]]を呼び出す。 | 一般的なドローコールでは「[[バーテックスバッファ]]」と「[[インデックスバッファ]]」を設定して[[GPU]]を呼び出す。 | ||
ハードウェアインスタンジングではこれらに加えて「位置」や「向き」などの情報を格納した「ダイナミックバーテックスバッファ」を設定して[[GPU]] | ハードウェアインスタンジングではこれらに加えて「位置」や「向き」などの情報を格納した「ダイナミックバーテックスバッファ」を設定して[[GPU]]を呼び出す。すると[[GPU]]はダイナミックバーテックスバッファを参照して、その個数だけ[[バーテックスシェーダー]]を実行してくれるというものである。 | ||
==主なプラットフォームの対応状況== | |||
ハードウェアインスタンジングを利用するには[[ハードウェア]]([[GPU]])が対応している必要がある。未対応の環境では[[ドローコール]]した時点でエラーになる。 | |||
== | |||
[[ハードウェア]]([[GPU]] | |||
===Windows=== | ===Windows=== | ||
| 21行目: | 19行目: | ||
===Android=== | ===Android=== | ||
[[Android]] | [[Android]]では[[OpenGL ES 3.0]]以降で対応している。[[OS]]的には「Android 4.3以降がOpenGL ES 3.0対応」となるが、これ以降のバージョンを搭載している製品でも[[ハードウェア]]的に未対応の製品が多い。 | ||
つまり[[スマホ]]などの[[OpenGL ES]]系のプラットフォームでは未対応だと思ったほうがいい。 | つまり[[スマホ]]などの[[OpenGL ES]]系のプラットフォームでは未対応だと思ったほうがいい。 | ||
| 36行目: | 34行目: | ||
==関連項目== | ==関連項目== | ||
* [[ドローコール]] | |||
* [[メッシュベイカー]] | |||
* [[擬似インスタンシング]] | |||
* [[MonoGameでハードウェアインスタンシングしてみる]] | |||
[[category: 3DCG]] | |||