private void red_Click_1(object sender, RoutedEventArgs e) { if (!reddd) { second.AddInput(temp); } else { second.AddInput(FirstFilter); } reddd = !reddd; }
/// <summary> /// Add all the hlsl files here /// </summary> public void AddEffects() { Renderer = new GPUImageGame(this.Dispatcher); FirstFilter = new InitialFilter(@"HLSL\RenderToScreen.fxo"); FirstFilter.AddInput("cat.dds"); temp = new InitialFilter(@"HLSL\FirstFilter.fxo"); second = new ImageFilter(@"HLSL\SpotLight.fxo", new Parameter("ImageSize", new Vector2(1, 1)), new Parameter("LightPos", new Vector2(400, 400))); second.AddInput(FirstFilter); Renderer.TerminalFilter = second; Renderer.Run(DisplayGrid); Task t = Task.Factory.StartNew(new Action(() => { Vector2 pos = new Vector2(0, 0); int add = 1; while (true) { pos.X = (pos.X + 1 * add); if (pos.X == 800 || pos.X == 0) { pos.Y = (pos.Y + 40) % 1200; add *= -1; } second.UpdateParameter("LightPos", pos); Thread.Sleep(1); } })); }