Example #1
0
        public MainWindow()
        {
            InitializeComponent();
            layerModel = new LayerModel();
            //prog = Program.Cornel();
            int width  = 2048;
            int height = 2048;

            prog   = Program.parseScene(@"scenes/book.txt", new Vector2(width, height));
            bitmap = new WriteableBitmap(width, height, 96, 96, PixelFormats.Rgba128Float, null);
            var layer = layerModel.AddFrame(prog, prog.Color, width, height, 100, bitmap.Format.BitsPerPixel);

            layers.Add(layer);
            View.Source = bitmap;
            workQueue   = new WorkQueue();
            foreach (var l in layers)
            {
                workQueue.AddWork(l.renders);
            }

            timer = new DispatcherTimer
            {
                Interval = TimeSpan.FromMilliseconds(250)
            };
            timer.Tick += (sender, arguments) => layerModel.UpdateBpm(bitmap, layer);
            timer.Start();
        }