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();
        }
Пример #3
0
        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();
        }
Пример #4
0
        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();
        }