void Start()
    {
        var controller = HelloApp.App.Get<HomeController>();
        var model = controller.SceneInfo().Model.As<SceneInfoViewModel>();
        model.BackButton.Manifest();
        _cam = model.Camera;

        p = new GraphicsPipe();
        p.Drawables.Add(new Thingo());
    }
 public Sprite[] Render(GraphicsPipe pipe)
 {
     var r = new System.Random();
     if (_sprite == null) {
       _sprite = new Sprite[90];
       for (var i = 0; i < 90; ++i) {
     var s = pipe.Sprite();
     s.Points = new float[8] { 1f, 1f, 1f, -1f, -1f, 1f, -1f, -1f };
     s.UV = new float[8] { 1, 1, 1, 0, 0, 1, 0, 0 };
     s.Texture = (Texture)Resources.Load("edit");
     s.Depth = 2;
     s.Rotation = 0f;
     s.Position [0] = (float)(r.NextDouble() * 8.0f) - 4f;
     s.Position [1] = (float)(r.NextDouble() * 8.0f) - 4f;
     _sprite [i] = s;
       }
     } else {
       for (var i = 0; i < 90; ++i) {
     var s = _sprite[i];
     s.Rotation = (float)(r.NextDouble() * 30.0);
     s.Points[0] = (float)(r.NextDouble() * 4.0) - 2f;
     s.Points[1] = (float)(r.NextDouble() * 4.0) - 2f;
     s.Points[2] = s.Points[0];
     s.Points[3] = s.Points[1] - 1f;
     s.Color[0] = (float)(r.NextDouble());
     s.Color[1] = (float)(r.NextDouble());
     s.Color[2] = (float)(r.NextDouble());
     s.Color[3] = (float)(r.NextDouble());
     s.Invalid = true;
     _sprite[i] = s;
       }
     }
     return _sprite;
 }