Example #1
0
 public AdaptiveRenderer(int maxPasses, float maxDelta, IPixelRenderer renderer)
 {
     _renderer = renderer;
     MaxPasses = maxPasses;
     MaxDelta  = maxDelta;
     _samples  = new PixelSamples();
 }
Example #2
0
        private static void RunSelfTest(IPixelRenderer renderer)
        {
            Log.InfoFormat("Running self-test on {0}: {1} pixels", renderer, renderer.PixelCount);
            Log.InfoFormat("Red");
            for (int i = 0; i < renderer.PixelCount; i++)
            {
                renderer.SetPixels(n => n == i ? 0xff0000 : 0x000000);
                renderer.Show();
                Thread.Sleep(50);
            }

            Log.InfoFormat("Green");
            for (int i = 0; i < renderer.PixelCount; i++)
            {
                renderer.SetPixels(n => n == i ? 0x00ff00 : 0x000000);
                renderer.Show();
                Thread.Sleep(50);
            }

            Log.InfoFormat("Blue");
            for (int i = 0; i < renderer.PixelCount; i++)
            {
                renderer.SetPixels(n => n == i ? 0x0000ff : 0x000000);
                renderer.Show();
                Thread.Sleep(50);
            }
        }
Example #3
0
        /// <summary>
        /// Applies a transform function over the current state of all pixels
        /// </summary>
        /// <param name="map">A Func of the form (inputPixel,index) => outputPixel</param>
        public static void Apply(this IPixelRenderer renderer, Func <uint, int, uint> map)
        {
            var pixels = renderer.GetPixels();
            var output = pixels.Select(map).ToArray();

            renderer.SetPixels(output);
        }
Example #4
0
 /// <summary>
 /// Applies a transform function over the current state of all pixels
 /// </summary>
 public static void Apply(this IPixelRenderer renderer, Func <Color, int, Color> map)
 {
     Apply(renderer, (rgb, i) =>
     {
         var color    = FromRgb(rgb);
         var newColor = map(color, i);
         return(ToRgb(newColor));
     });
 }
Example #5
0
        /// <summary>
        /// Sets all pixels based on a map function over pixel index
        /// </summary>
        /// <remarks>For convenience this overload maps to int, not uint</remarks>
        public static void SetPixels(this IPixelRenderer renderer, Func <int, int> map)
        {
            var rgbs = Enumerable.Range(0, renderer.PixelCount)
                       .Select(map)
                       .Cast <uint>()
                       .ToArray()
            ;

            renderer.SetPixels(rgbs);
        }
Example #6
0
        public static void SetPixels(this IPixelRenderer renderer, IEnumerable <Color> pixels)
        {
            var rgbs = pixels
                       .Take(renderer.PixelCount)
                       .Select(ToRgb)
                       .ToArray()
            ;

            renderer.SetPixels(rgbs);
        }
Example #7
0
 private static Color RenderSubPixel(int remaining,
                                     float maxDelta,
                                     IPixelSamples samples,
                                     IPixelRenderer renderer,
                                     in SubPixel sp)
Example #8
0
 public static void SetRenderer(IPixelRenderer pixelRenderer)
 {
     PixelModule.pixelRenderer = pixelRenderer;
 }
Example #9
0
        private static void RunSelfTest(IPixelRenderer renderer)
        {
            Log.InfoFormat("Running self-test on {0}: {1} pixels", renderer, renderer.PixelCount);
            Log.InfoFormat("Red");
            for (int i = 0; i < renderer.PixelCount; i++)
            {
                renderer.SetPixels(n => n == i ? 0xff0000 : 0x000000);
                renderer.Show();
                Thread.Sleep(50);
            }

            Log.InfoFormat("Green");
            for (int i = 0; i < renderer.PixelCount; i++)
            {
                renderer.SetPixels(n => n == i ? 0x00ff00 : 0x000000);
                renderer.Show();
                Thread.Sleep(50);
            }

            Log.InfoFormat("Blue");
            for (int i = 0; i < renderer.PixelCount; i++)
            {
                renderer.SetPixels(n => n == i ? 0x0000ff : 0x000000);
                renderer.Show();
                Thread.Sleep(50);
            }
        }
Example #10
0
 public MappedPixelsDecorator(IPixelRenderer renderer, Func<int,int> indexMap)
 {
     _renderer = renderer;
     _map = indexMap;
 }
Example #11
0
 public static void SetPixelColor(this IPixelRenderer renderer, int index, Color color)
 {
     renderer.SetPixelColor(index, color.R, color.G, color.B);
 }
Example #12
0
 public MappedPixelsDecorator(IPixelRenderer renderer, Func <int, int> indexMap)
 {
     _renderer = renderer;
     _map      = indexMap;
 }