public override void Run() { var shader = RSC.Shaders[RSI]; shader.Bind(); //apply all parameters to this shader.. even if it was meant for other shaders. kind of lame. if (Parameters != null) { foreach (var kvp in Parameters) { if (kvp.Value is float) { shader.Pipeline[kvp.Key].Set((float)kvp.Value); } } } var input = InputTexture; if (SP.InputFilterLinear) { InputTexture.SetFilterLinear(); } else { InputTexture.SetFilterNearest(); } RSC.Shaders[RSI].Run(input, input.Size, OutputSize, InputTexture.IsUpsideDown); //maintain invariant.. i think. InputTexture.SetFilterNearest(); }
public override void Run() { if (nop) { return; } GL.SetClearColor(Color.FromArgb(BackgroundColor)); GL.Clear(OpenTK.Graphics.OpenGL.ClearBufferMask.ColorBufferBit); GuiRenderer.Begin(OutputSize.Width, OutputSize.Height); GuiRenderer.SetBlendState(GL.BlendNoneCopy); if (FilterOption != eFilterOption.None) { InputTexture.SetFilterLinear(); } else { InputTexture.SetFilterNearest(); } if (FilterOption == eFilterOption.Bicubic) { } GuiRenderer.Draw(InputTexture, LL.vx, LL.vy, LL.vw, LL.vh); GuiRenderer.End(); }
public override void Run() { var shader = _rsc.Shaders[_rsi]; shader.Bind(); // apply all parameters to this shader.. even if it was meant for other shaders. kind of lame. if (Parameters != null) { foreach (var(k, v) in Parameters) { if (v is float value) { shader.Pipeline[k].Set(value); } } } var input = InputTexture; if (_sp.InputFilterLinear) { InputTexture.SetFilterLinear(); } else { InputTexture.SetFilterNearest(); } _rsc.Shaders[_rsi].Run(input, input.Size, _outputSize, InputTexture.IsUpsideDown); // maintain invariant.. i think. InputTexture.SetFilterNearest(); }
public override void Run() { if (nop) { return; } GL.SetClearColor(Color.FromArgb(BackgroundColor)); GL.Clear(OpenTK.Graphics.OpenGL.ClearBufferMask.ColorBufferBit); GuiRenderer.Begin(OutputSize.Width, OutputSize.Height); GuiRenderer.SetBlendState(GL.BlendNoneCopy); if (FilterOption != eFilterOption.None) { InputTexture.SetFilterLinear(); } else { InputTexture.SetFilterNearest(); } if (FilterOption == eFilterOption.Bicubic) { //this was handled earlier by another filter } GuiRenderer.Modelview.Translate(LL.vx, LL.vy); if (Flip) { GuiRenderer.Modelview.Scale(1, -1); GuiRenderer.Modelview.Translate(0, -LL.vh); } GuiRenderer.Draw(InputTexture, 0, 0, LL.vw, LL.vh); GuiRenderer.End(); }