Example #1
0
        private void depthBlurToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (_raytracerResult == null)
            {
                MessageBox.Show("No raytracer result found");
            }

            //DepthBlurRenderer depthBlurRenderer = new DepthBlurRenderer(result, 1.7, 1.9, 17);
            DepthBlurRenderer depthBlurRenderer = new DepthBlurRenderer(_raytracerResult, 1.4, 1.6, 9);

            _raytracerOutput = depthBlurRenderer.Render();
            _raytracerOutput.Save(string.Format(@"..\..\Data\Results\{0}.bmp", Environment.TickCount));

            Invalidate();

            /*
             * Bitmap blurResult = result.ColorBuffer.Bitmap;
             *
             * _animation.ImageStack.Bitmaps.Add(blurResult);
             *
             * for (int i = 0; i < 200; i++)
             * {
             *  BoxBlurRenderer boxBlurRenderer = new BoxBlurRenderer(blurResult, 5);
             *  blurResult = boxBlurRenderer.Render();
             *
             *  _animation.ImageStack.Bitmaps.Add(blurResult);
             * }
             *
             * _animation.FrameUpdate += new Animation.FrameUpdateDelegate(AnimationFrameUpdate);
             * _animation.Start(10);
             */
        }
Example #2
0
        private void RaytracerRenderComplete(RenderTarget result)
        {
            _raytracerResult = result;
            _raytracerOutput = result.ColorBuffer.Bitmap; //result.DepthBuffer.ToBitmap();//
            _raytracerOutput.Save(string.Format(@"..\..\Data\Results\{0}.bmp", Environment.TickCount));

            //AntiAliasingRenderer antiAliasingRenderer = new AntiAliasingRenderer(_raytracerOutput);
            //_raytracerOutput = antiAliasingRenderer.Render(2);

            //_raytracerOutput.Save(string.Format(@".\{0}.bmp", Environment.TickCount));

            RaytracerProgressUpdate(0.0f);

            if (InvokeRequired)
            {
                this.Invoke(new Action(Refresh));
            }

            _animation.Bounce = true;
            //_animation.ImageStack.Bitmaps.Add(_raytracerOutput);

            double focalLengthMin = 1.0;
            double focalLengthMax = 2.0;

            for (int i = 0; i < 80; i++)
            {
                DepthBlurRenderer depthBlurRenderer = new DepthBlurRenderer(_raytracerResult, focalLengthMin, focalLengthMax, 21);
                _animation.ImageStack.Bitmaps.Add(depthBlurRenderer.Render());

                focalLengthMin += 0.1;
                focalLengthMax += 0.1;
            }

            _animation.FrameUpdate += new Animation.FrameUpdateDelegate(AnimationFrameUpdate);
            _animation.Start(200);
        }