インスタンシング
インスタンシングだ!

ここからは応用編です。応用編なのでアトリビュートの基礎的な内容は前提として話が進んでいきます。復習もあんましないので不安な人は適宜振り返ってください。不安要素があると、内容が頭に入ってこないので。それだと記事を書いた自分も悲しいです。
インスタンシングです。内容的にはかなり簡単な部類に入ります。それゆえ一番最初に持ってきました。現時点でQiita版よりかなりボリュームが増し増しになっていて、実はここまでの8節はQiitaだとたった2回分なので、それだけでも相当濃かったことが分かるかと思います。まあ無駄話はこれくらいにしましょうか...。
アトリビュートには2種類あります。divisorが0のものと、1以上のものです。1以上の場合、0である全てのアトリビュートに対して、フェッチに使う整数に依らず同じ値になります。一見すると使えなさそうですが、実はそれを複数回実行するわけです。そして実行するたびにその同一の値は異なります。つまり同じ描画内容のジオメトリを細部だけ変えて大量にコピーできるわけです。そういう仕組みです。
divisorは以前関数紹介にちょこっとだけ登場したんですが、今回はこれが主役です。頑張ってもらいましょう...!
コード全文
エレメント描画の例

一応、エレメント描画でインスタンシングをやる例も挙げておきます。内容としては、前回描画した「F」の字を位置や回転スピードをずらして複製するものです。256個です。「F」の描画にはそれなりに多い枚数の三角形のデータが必要で。大量にまとめて描画しようとするとドローコールをたくさん実行するか、大きなサイズのジオメトリが必要になってきます。でもインスタンシングなら1個分かつたった1回で済むので楽ちんです。それを見ます。
コード全文
今回登場した関数
関数名
- リンク:hoge
- 概要:
- 構文:
- 引数:
- いろいろ
- 返り値: