protected override void ManageInstancingData() { var transformUsage = (ModelTransformUsage)(((int)Game.UpdateTime.Total.TotalSeconds) % 3); instancingUserArray.ModelTransformUsage = ModelTransformUsage.PostMultiply; instancingUserArray.UpdateWorldMatrices(instanceWorldTransformations); }
public override void Update() { // generate some matrices var offset = InstanceCount / 2; var seconds = (float)Game.UpdateTime.Total.TotalSeconds; for (int i = 0; i < InstanceCount; i++) { var x = i * 1 - offset; var y = 0; var z = (float)Math.Cos(new Vector2(x, y).Length() * 0.5f + seconds); instanceWorldTransformations[i] = Matrix.RotationY(seconds) * Matrix.Translation(x * 0.1f, y, z * 0.1f); } instancingMany.UpdateWorldMatrices(instanceWorldTransformations); }