AcTools.Render.Kn5SpecificSpecial.TrackMapBlurRenderHelper.Blur C# (CSharp) Method

Blur() public method

public Blur ( DeviceContextHolder holder, TargetResourceTexture source, TargetResourceTexture temporary, int iterations = 1, TargetResourceTexture target = null ) : void
holder DeviceContextHolder
source AcTools.Render.Base.TargetTextures.TargetResourceTexture
temporary AcTools.Render.Base.TargetTextures.TargetResourceTexture
iterations int
target AcTools.Render.Base.TargetTextures.TargetResourceTexture
return void
        public void Blur(DeviceContextHolder holder, TargetResourceTexture source, TargetResourceTexture temporary, int iterations = 1,
                TargetResourceTexture target = null) {
            for (var i = 0; i < iterations; i++) {
                holder.DeviceContext.OutputMerger.SetTargets(temporary.TargetView);
                BlurHorizontally(holder, (i == 0 ? null : target?.View) ?? source.View);
                holder.DeviceContext.OutputMerger.SetTargets(target?.TargetView ?? source.TargetView);
                BlurVertically(holder, temporary.View);
            }
        }