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

 
(同じ利用者による、間の1版が非表示)
44行目: 44行目:


== C#側を書く ==
== C#側を書く ==
まずインスタンスを格納するクラスを作る。
まず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>