static async Task Main(string[] args) { var ep = new DnsEndPoint("pixelflut.uwu.industries", 1234); //var ep = new IPEndPoint(IPAddress.Parse("193.30.122.10"), 1234); var renderService = new PixelFlutLookupTableUnsafeRenderService(ServerCapabilities.None); //var outputService = new PixelFlutNullOutputService(new Size(1920, 1080)); var outputService = new PixelFlutTcpOutputService(ep); //var outputService = new FileOutputService("C:\\Temp\\cards.px"); var eh = new EffectHost(outputService.GetSize(), renderService); //await eh.AddEffect(new RandomBoxes(new Size(500, 500))); //await eh.AddEffect(new DrawImageStatic(@"C:\Temp\Test.jpg", Point.Empty)); await eh.AddEffect(new DrawImageSolitaire(Directory.GetFiles("Resources/cards"), 4)); //await eh.AddEffect(new VideoPlayback(@"C:\Temp\Test.mp4")); //await eh.AddEffect(new Effects.Void()); await eh.AddOutput(outputService); eh.Start(); var cts = new CancellationTokenSource(); AppDomain.CurrentDomain.ProcessExit += (e, evArgs) => cts.Cancel(); cts.Token.WaitHandle.WaitOne(); eh.Stop(); renderService.Dispose(); }
public void UnsafeRenderService_SimpleFrame_Correct() { var pixels = new[] { new OutputPixel(0, 0, 0xFFFF00FF), new OutputPixel(0, 1, 0xFF00FF00), new OutputPixel(1, 0, 0xFF0000FF), new OutputPixel(0, 0, 0xFFFFFF00), }; var frame = new OutputFrame(0, 0, pixels); var sut = new PixelFlutLookupTableUnsafeRenderService(ServerCapabilities.None); var actual = Encoding.ASCII.GetString(sut.PreRender(frame)); Assert.AreEqual("PX 0 0 FF00FF\nPX 0 1 00FF00\nPX 1 0 0000FF\nPX 0 0 FFFF00\n", actual); }
public void UnsafeRenderService_TryToFuckItUpFrame_Correct() { var r = new Random(); for (int i = 0; i < 10; i++) { var pixels = new List <OutputPixel>(); for (int pxNum = 0; pxNum < 100000; pxNum++) { pixels.Add(new OutputPixel(r.Next(2000), r.Next(2000), (uint)r.Next(0xFFFFFF) | 0xFF000000U)); } var frame = new OutputFrame(0, 0, pixels.ToArray()); var simpleSut = new SimpleRenderService(); var unsafeSut = new PixelFlutLookupTableUnsafeRenderService(ServerCapabilities.None); var simpleFrame = Encoding.ASCII.GetString(simpleSut.PreRender(frame)); var unsafeFrame = Encoding.ASCII.GetString(unsafeSut.PreRender(frame)); Assert.AreEqual(simpleFrame, unsafeFrame); } }