メインメニューを開く

差分

MonoGameでハードウェアインスタンシングしてみる

124 バイト追加, 2020年4月15日 (水) 05:58
== C#側を書く ==
まず3Dモデルのインスタンス(=ワールド座標=Matrix)を格納するクラスを作る。まず3Dモデルのインスタンス([[ワールド座標]])を格納する[[クラス]]を作る。
<source lang="csharp">
public struct VertexDynamicInstance : IVertexType
</source>
ダイナミック頂点バッファを生成する。インスタンス群を格納したダイナミック頂点バッファを生成する。
<source lang="csharp">
// ダイナミック頂点バッファを作って
var instanceVertexBuffer = new DynamicVertexBuffer(graphicsDevice,
VertexDynamicInstance.VertexDeclaration,
BufferUsage.WriteOnly);
// インスタンス群を入れ込む
instanceVertexBuffer.SetData(instances);
</source>