「MonoGameでハードウェアインスタンシングしてみる」の版間の差分

 
44行目: 44行目:


== C#側を書く ==
== C#側を書く ==
まず3Dモデルのインスタンス(=ワールド座標=Matrix)を格納するクラスを作る。
まず3Dモデルのインスタンス([[ワールド座標]])を格納する[[クラス]]を作る。
<source lang="csharp">
<source lang="csharp">
public struct VertexDynamicInstance : IVertexType
public struct VertexDynamicInstance : IVertexType
76行目: 76行目:
</source>
</source>


ダイナミック頂点バッファを生成する。
インスタンス群を格納したダイナミック頂点バッファを生成する。
<source lang="csharp">
<source lang="csharp">
// ダイナミック頂点バッファを作って
var instanceVertexBuffer = new DynamicVertexBuffer(graphicsDevice,
var instanceVertexBuffer = new DynamicVertexBuffer(graphicsDevice,
     VertexDynamicInstance.VertexDeclaration,
     VertexDynamicInstance.VertexDeclaration,
83行目: 84行目:
     BufferUsage.WriteOnly);
     BufferUsage.WriteOnly);


// インスタンス群を入れ込む
instanceVertexBuffer.SetData(instances);
instanceVertexBuffer.SetData(instances);
</source>
</source>