LoginSignup
1
0

UnityのGraphicsのDraw系Render系関数を解説

Last updated at Posted at 2024-04-29

はじめに

UnityのGPUインスタンシング初心者の皆さんこんにちは。完全理解シタモノです。

だんだん暖かくなってきましたね。そろそろ「Mesh生成しまくるのめんどくね? Graphicsの関数勉強すんべ」みたいな気持ちになってきたのではないかと思います。

しかしGraphicsの関数は似た名前の物が多く「どれ使えばええねん!!」となってしまうと思います。そこで関数を見分けるキーワードを解説しましょう!

image.png

Render vs Draw

一緒だけどDrawは古くていずれ消えます。
ただNow系は生き残るかもしれません。

Mesh vs Procedural vs Primitive

Meshは入力されたメッシュを描写します。
残り二つは入力されたトロポジ(三角形とか点とか)を描写します。

Indexed

頂点座標情報(mesh.vertices)は1つもいらないけど、SV_Indexの情報は指定したい、そのためにMeshを作るのはいやだ、そんなあなたにこの関数。Index情報を指定するバッファを用意しています。

Indirect

日本語で間接的、という意味です。
投稿した瞬間にご覧になった皆さんすみません。間違ってました。
描写shaderの関数呼び出し入力を詳細に制御できる関数らしいです。

Now

これらにはmaterialを指定するものがありません。では使われるシェーダーはどうやって指定されるの!? 今のでしょ! というわけで今使われてるシェーダー情報をそのまま使うみたいです。別々の関数で呼び出したいけどSetPassCallは増やしたくないみたいな感じで使うのでしょう。きっと。

終わりに

今ならDrawProceduralIndirectとRenderPrimitivesIndexedの違いを説明できますね!?

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0