public override void ProcessImage(RenderImage image) { var OstafLikesTheCock = new RenderImage(image.Height, image.Height); CluwneLib.CurrentRenderTarget = OstafLikesTheCock; image.Blit(0, 0, image.Height, image.Height, Color.White, BlitterSizeMode.Crop); CluwneLib.CurrentRenderTarget = image; CluwneLib.CurrentShader = _shader; _shader.SetParameter("SceneTexture", OstafLikesTheCock); _shader.setDuration((Math.Abs(_duration))); OstafLikesTheCock.Blit(0, 0, image.Height, image.Height, Color.White, BlitterSizeMode.Crop); CluwneLib.CurrentRenderTarget = null; CluwneLib.CurrentShader = null; OstafLikesTheCock.Dispose(); }
public override void ProcessImage(RenderImage image) { var OstafLikesTheCock = new RenderImage("CockLoverOstaf", image.Height, image.Height); OstafLikesTheCock.BeginDrawing(); image.Blit(0, 0, image.Height, image.Height, SFML.Graphics.Color.White, BlitterSizeMode.Crop); OstafLikesTheCock.EndDrawing(); image.BeginDrawing(); _shader.setAsCurrentShader(); _shader.SetParameter("SceneTexture", OstafLikesTheCock); _shader.setDuration((Math.Abs(_duration))); OstafLikesTheCock.Blit(0, 0, image.Height, image.Height, SFML.Graphics.Color.White, BlitterSizeMode.Crop); image.EndDrawing(); _shader.ResetCurrentShader(); OstafLikesTheCock.Dispose(); }
public void PerformGaussianBlur(RenderImage sourceImage) { // Blur the source horizontally _intermediateTarget = new RenderImage("intermediateTarget",sourceImage.Width, sourceImage.Height); _intermediateTarget.Key = targetName; _intermediateTarget.BeginDrawing(); //stores screen, makes current GaussianBlurTechnique["GaussianBlur" + Radius + "Horizontal"].SetParameter("colorMapTexture", GLSLShader.CurrentTexture); GaussianBlurTechnique["GaussianBlur" + Radius + "Horizontal"].SetParameter("weights_offsets", WeightsOffsetsX); GaussianBlurTechnique["GaussianBlur" + Radius + "Horizontal"].setAsCurrentShader(); //.Techniques["GaussianBlurHorizontal"]; sourceImage.Blit(0, 0, sourceImage.Width, sourceImage.Height); _intermediateTarget.EndDrawing(); GaussianBlurTechnique["GaussianBlur" + Radius + "Horizontal"].ResetCurrentShader(); //// blur the blur vertically sourceImage.BeginDrawing(); GaussianBlurTechnique["GaussianBlur" + Radius + "Vertical"].SetParameter("colorMapTexture", GLSLShader.CurrentTexture); GaussianBlurTechnique["GaussianBlur" + Radius + "Vertical"].SetParameter("weights_offsets", WeightsOffsetsY); GaussianBlurTechnique["GaussianBlur" + Radius + "Vertical"].setAsCurrentShader() ; //.Techniques["GaussianBlurVertical"]; _intermediateTarget.Blit(0, 0, _intermediateTarget.Width, _intermediateTarget.Height); sourceImage.EndDrawing(); CluwneLib.CurrentShader = null; _intermediateTarget.Dispose(); }
public void PerformGaussianBlur(RenderImage sourceImage) { // Perform horizontal Gaussian blur. _intermediateTarget = new RenderImage(sourceImage.Width, sourceImage.Height); _intermediateTarget.setName = targetName; _intermediateTarget.Clear(Color.Black); CluwneLib.CurrentRenderTarget = _intermediateTarget; CluwneLib.CurrentShader = _shader; //TODO .Techniques["GaussianBlurHorizontal"]; // _shader.setParameter("weights_offsets").SetValue(WeightsOffsetsX); // _shader.setParameters["colorMapTexture"].SetValue(sourceImage.Image); sourceImage.Blit(0, 0, sourceImage.Width, sourceImage.Height); // Perform vertical Gaussian blur. CluwneLib.CurrentRenderTarget = sourceImage; CluwneLib.CurrentShader = _shader; //.Techniques["GaussianBlurVertical"]; // _shader.Parameters["colorMapTexture"].SetValue(_intermediateTarget.Image); //_shader.Parameters["weights_offsets"].SetValue(WeightsOffsetsY); //_intermediateTargetSprite.Draw(); _intermediateTarget.Blit(0, 0, sourceImage.Width, sourceImage.Height); CluwneLib.CurrentShader = null; CluwneLib.CurrentRenderTarget = null; _intermediateTarget.Dispose(); }