public GaussianBlurEffect(Effect sourceEffect)
{
if (sourceEffect == null) throw new ArgumentNullException("sourceEffect");
this.sourceEffect = sourceEffect;
kernelSizeParameter = sourceEffect.Parameters["KernelSize"];
kernelsParameter = sourceEffect.Parameters["Kernels"];
horizontalKernels = new Vector3[MaxKernelSize];
verticalKernels = new Vector3[MaxKernelSize];
radius = DefaultRadius;
amount = DefaultAmount;
width = 1;
height = 1;
dirtyFlags |= DirtyFlags.KernelSize | DirtyFlags.KernelOffsets | DirtyFlags.KernelWeights;
}