protected override void Update ( GameTime gameTime )
{
var ds = GetService<DebugStrings>();
ds.Add( Color.Orange, "FPS {0}", gameTime.Fps );
ds.Add( "F1 - show developer console" );
ds.Add( "F2 - toggle vsync" );
ds.Add( "F5 - build content and reload textures" );
ds.Add( "F12 - make screenshot" );
ds.Add( "ESC - exit" );
ds.Add("");
base.Update( gameTime );
var rand = new Random();
for (int i=0; i<InstanceCount; i++) {
instDataCpu[ i ].Scale = 0.2f * (0.5f + 0.4f*(float)Math.Cos( 0.17*i + gameTime.Total.TotalSeconds * 2 ));
instDataCpu[ i ].Rotation += (MathUtil.IsOdd(i) ? 0.01f : -0.01f);
instDataCpu[ i ].Offset.Y += (MathUtil.IsOdd(i) ? 0.001f : -0.001f);
if (instDataCpu[ i ].Offset.Y > 2) {
instDataCpu[ i ].Offset.Y = -2;
}
if (instDataCpu[ i ].Offset.Y < -2) {
instDataCpu[ i ].Offset.Y = 2;
}
/*float c = (1 - (instDataCpu[ i ].Offset.Y + 2)/4);
c *= c * 0.5f;
instDataCpu[ i ].Color = new Vector4(c,c,c,c);*/
}
instDataGpu.SetData( instDataCpu );
}