public void Render()
{
if (mVertexDeclaration == null)
{
CreateVertexDeclarations();
}
mDevice.VertexDeclaration = mVertexDeclaration;
foreach (var bufferBinding in mBufferBindings)
{
bufferBinding.Bind();
}
var effect = mEffect.Effect;
effect.Begin();
foreach (EffectPass pass in effect.CurrentTechnique.Passes)
{
pass.Begin();
if (mIndexCount != 0)
{
mDevice.DrawIndexedPrimitives(PrimitiveType.TriangleList,
0, 0, mVertexCount, 0, mIndexCount / 3);
}
else
{
mDevice.DrawPrimitives(PrimitiveType.TriangleList, 0, mVertexCount / 3);
}
pass.End();
}
effect.End();
}