protected override void Initialize ()
{
var device = GraphicsDevice;
base.Initialize();
vb = new VertexBuffer(device, typeof(Vertex), 6 );
cb = new ConstantBuffer(GraphicsDevice, typeof(ConstData) );
instDataGpu = new StructuredBuffer( device, typeof(InstData), InstanceCount, StructuredBufferFlags.None );
instDataCpu = new InstData[ InstanceCount ];
var rand = new Random();
for (int i=0; i<InstanceCount; i++) {
instDataCpu[ i ].Offset = rand.NextVector2( new Vector2(-2.5f,-2f), new Vector2( 2.5f,2f) );
instDataCpu[ i ].Scale = rand.NextFloat( 0, 0.7f);
instDataCpu[ i ].Rotation = rand.NextFloat( 0, MathUtil.TwoPi );
instDataCpu[ i ].Color = rand.NextVector4( Vector4.Zero, Vector4.One * 0.7f );
instDataCpu[ i ].TexId = rand.Next(4);
}
Reloading += InstancingDemo_Reloading;
InstancingDemo_Reloading ( this, EventArgs.Empty );
}