Ejemplo n.º 1
0
        private System.IAsyncResult OnBeginPerfomance(object[] inValues, System.AsyncCallback callback, object asyncState)
        {
            RayTracer.Scene          scene     = ((RayTracer.Scene)(inValues[0]));
            System.Drawing.Rectangle viewport  = ((System.Drawing.Rectangle)(inValues[1]));
            RayTracer.RayTracer      raytracer = ((RayTracer.RayTracer)(inValues[2]));
            int step   = ((int)(inValues[3]));
            int number = ((int)(inValues[4]));

            return(this.BeginPerfomance(scene, viewport, raytracer, step, number, callback, asyncState));
        }
Ejemplo n.º 2
0
        private System.IAsyncResult OnBeginRayTraceRows(object[] inValues, System.AsyncCallback callback, object asyncState)
        {
            RayTracer.Scene          scene    = ((RayTracer.Scene)(inValues[0]));
            System.Drawing.Rectangle viewport = ((System.Drawing.Rectangle)(inValues[1]));
            int startRow            = ((int)(inValues[2]));
            int numberOfRowsToTrace = ((int)(inValues[3]));

            RayTracer.RayTracer raytracer = ((RayTracer.RayTracer)(inValues[4]));
            int numberOfRange             = ((int)(inValues[5]));

            return(this.BeginRayTraceRows(scene, viewport, startRow, numberOfRowsToTrace, raytracer, numberOfRange, callback, asyncState));
        }
Ejemplo n.º 3
0
        public static void Main()
        {
            var sw      = Stopwatch.StartNew();
            var ctx     = GetContext();
            var imgData = CreateImageData(ctx);

            var raytracer = new RayTracer.RayTracer(200, 200, (x, y, c) => { SetPixel(imgData, x, y, c.R, c.G, c.B, 1); });

            raytracer.Render(raytracer.DefaultScene);

            PutImageData(ctx, imgData);

            sw.Stop();
            Console.WriteLine(sw.TotalSeconds);
        }
Ejemplo n.º 4
0
        private void renderScene()
        {
            SetupScene3();

            RayTracer.RayTracer raytracer = new RayTracer.RayTracer(AntiAliasing.Medium, true, true, true, true, true);
            raytracer.RenderUpdate += new RenderUpdateDelegate(raytracer_RenderUpdate);

            rect_i rect = new rect_i(0, 0, 512, 512);

            bitmap = new ImageBuffer(rect.Width, rect.Height, 32, new BlenderBGRA());

            Graphics2D graphics2D = bitmap.NewGraphics2D();

            raytracer.RayTraceScene(graphics2D, rect, scene);

            graphics2D.Rect(new rect_d(bitmap.GetBoundingRect()), RGBA_Bytes.Black);
        }
Ejemplo n.º 5
0
 public void RayTraceRowsAsync(RayTracer.Scene scene, System.Drawing.Rectangle viewport, int startRow, int numberOfRowsToTrace, RayTracer.RayTracer raytracer, int numberOfRange, object userState)
 {
     if ((this.onBeginRayTraceRowsDelegate == null))
     {
         this.onBeginRayTraceRowsDelegate = new BeginOperationDelegate(this.OnBeginRayTraceRows);
     }
     if ((this.onEndRayTraceRowsDelegate == null))
     {
         this.onEndRayTraceRowsDelegate = new EndOperationDelegate(this.OnEndRayTraceRows);
     }
     if ((this.onRayTraceRowsCompletedDelegate == null))
     {
         this.onRayTraceRowsCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnRayTraceRowsCompleted);
     }
     base.InvokeAsync(this.onBeginRayTraceRowsDelegate, new object[] {
         scene,
         viewport,
         startRow,
         numberOfRowsToTrace,
         raytracer,
         numberOfRange
     }, this.onEndRayTraceRowsDelegate, this.onRayTraceRowsCompletedDelegate, userState);
 }
Ejemplo n.º 6
0
 public void RayTraceRowsAsync(RayTracer.Scene scene, System.Drawing.Rectangle viewport, int startRow, int numberOfRowsToTrace, RayTracer.RayTracer raytracer, int numberOfRange)
 {
     this.RayTraceRowsAsync(scene, viewport, startRow, numberOfRowsToTrace, raytracer, numberOfRange, null);
 }
Ejemplo n.º 7
0
 public System.IAsyncResult BeginRayTraceRows(RayTracer.Scene scene, System.Drawing.Rectangle viewport, int startRow, int numberOfRowsToTrace, RayTracer.RayTracer raytracer, int numberOfRange, System.AsyncCallback callback, object asyncState)
 {
     return(base.Channel.BeginRayTraceRows(scene, viewport, startRow, numberOfRowsToTrace, raytracer, numberOfRange, callback, asyncState));
 }
Ejemplo n.º 8
0
 public System.Tuple <System.Drawing.Bitmap, int, RayTracer.RayTracer, int, System.DateTime> RayTraceRows(RayTracer.Scene scene, System.Drawing.Rectangle viewport, int startRow, int numberOfRowsToTrace, RayTracer.RayTracer raytracer, int numberOfRange)
 {
     return(base.Channel.RayTraceRows(scene, viewport, startRow, numberOfRowsToTrace, raytracer, numberOfRange));
 }
Ejemplo n.º 9
0
 public void PerfomanceAsync(RayTracer.Scene scene, System.Drawing.Rectangle viewport, RayTracer.RayTracer raytracer, int step, int number, object userState)
 {
     if ((this.onBeginPerfomanceDelegate == null))
     {
         this.onBeginPerfomanceDelegate = new BeginOperationDelegate(this.OnBeginPerfomance);
     }
     if ((this.onEndPerfomanceDelegate == null))
     {
         this.onEndPerfomanceDelegate = new EndOperationDelegate(this.OnEndPerfomance);
     }
     if ((this.onPerfomanceCompletedDelegate == null))
     {
         this.onPerfomanceCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnPerfomanceCompleted);
     }
     base.InvokeAsync(this.onBeginPerfomanceDelegate, new object[] {
         scene,
         viewport,
         raytracer,
         step,
         number
     }, this.onEndPerfomanceDelegate, this.onPerfomanceCompletedDelegate, userState);
 }
Ejemplo n.º 10
0
 public void PerfomanceAsync(RayTracer.Scene scene, System.Drawing.Rectangle viewport, RayTracer.RayTracer raytracer, int step, int number)
 {
     this.PerfomanceAsync(scene, viewport, raytracer, step, number, null);
 }
Ejemplo n.º 11
0
 public System.IAsyncResult BeginPerfomance(RayTracer.Scene scene, System.Drawing.Rectangle viewport, RayTracer.RayTracer raytracer, int step, int number, System.AsyncCallback callback, object asyncState)
 {
     return(base.Channel.BeginPerfomance(scene, viewport, raytracer, step, number, callback, asyncState));
 }
Ejemplo n.º 12
0
 public System.Tuple <double, int> Perfomance(RayTracer.Scene scene, System.Drawing.Rectangle viewport, RayTracer.RayTracer raytracer, int step, int number)
 {
     return(base.Channel.Perfomance(scene, viewport, raytracer, step, number));
 }
Ejemplo n.º 13
0
        private void renderScene()
        {
            SetupScene3();

            RayTracer.RayTracer raytracer = new RayTracer.RayTracer(AntiAliasing.Medium, true, true, true, true, true);
            raytracer.RenderUpdate += new RenderUpdateDelegate(raytracer_RenderUpdate);

            rect_i rect = new rect_i(0, 0, 512, 512);
            bitmap = new ImageBuffer(rect.Width, rect.Height, 32, new BlenderBGRA());

            Graphics2D graphics2D = bitmap.NewGraphics2D();

            raytracer.RayTraceScene(graphics2D, rect, scene);

            graphics2D.Rect(new rect_d(bitmap.GetBoundingRect()), RGBA_Bytes.Black);
        }