タグ

3Dとopenglに関するshiottyのブックマーク (2)

  • pseudo-instanced drawing in Unity - primitive: blog

    Unity で大量のオブジェクトを描画するスクリプトを書きました。 https://github.com/i-saint/BatchRenderer 簡単な使用例 いつも通り弾幕やらパーティクルやらを描くのを想定した代物ですが、割と簡単に使えてポータブルな作りになっています。Windows で D3D11, D3D9, OpenGL モードでいずれも動作。Android でも動作を確認しています。 スクリプトの使い方については上記ページを参照していただくとして、この記事ではこのスクリプトを作る過程で得られた (バッド) ノウハウ群を書き残しておこうと思います。過去の記事と内容が被ってる部分が多くありますが、その多くは記事でより洗練されています。 まずこれを作った背景。 OpenGL や Direct3D では、大量のオブジェクトを描画するにはインスタンシング描画を用いるのが一般的です。U

    pseudo-instanced drawing in Unity - primitive: blog
  • render massive amount of cubes in Unity (2) - primitive: blog

    以前 検証した Unity で大量の cube を描く方法の続きです。あれからまたいくつか検証を重ねてきたのでまとめておこうと思います。 まず前提として、今回解説する方法は全て Graphics.DrawProcedual() を使うアプローチです。以前の記事を書いた時点では気づいていなかったのですが、Graphics.DrawProcedual() を使うと instancing 描画ができます。 残念ながらこの API、現状 OpenGL 系のプラットフォームでは使えません。つまり Android & iOS では使えず、PC でも Windows のみとなってしまいます。しかし近い将来いろんなプラットフォームでサポートされていくはずです。(近年のモバイルデバイスはハードウェア的には既に instancing 描画をサポートしています) この Graphics.DrawProcedua

    render massive amount of cubes in Unity (2) - primitive: blog
  • 1