public CompositionFilter(ITextureFilter lumaInput, ITextureFilter chromaInput, IChromaScaler chromaScaler, TextureSize?targetSize = null, Vector2?chromaOffset = null, ITextureFilter fallback = null) { if (lumaInput == null) { throw new ArgumentNullException("lumaInput"); } if (chromaInput == null) { throw new ArgumentNullException("chromaInput"); } Luma = lumaInput; Chroma = chromaInput; ChromaScaler = chromaScaler ?? new DefaultChromaScaler(); ChromaOffset = chromaOffset ?? Renderer.ChromaOffset; TargetSize = targetSize ?? Luma.Output.Size; Result = ChromaScaler.CreateChromaFilter(Luma, Chroma, TargetSize, ChromaOffset) ?? fallback; AddTag(Result.Tag); }
public static ITextureFilter MakeChromaFilter(this IChromaScaler chromaScaler, ITextureFilter lumaInput, ITextureFilter chromaInput, TextureSize?targetSize = null, Vector2?chromaOffset = null) { return(new CompositionFilter(lumaInput, chromaInput, chromaScaler, targetSize, chromaOffset)); }
public ICompositionFilter Rebuild(IChromaScaler chromaScaler = null, TextureSize?targetSize = null, Vector2?chromaOffset = null) { return(new CompositionFilter(Luma, Chroma, chromaScaler ?? ChromaScaler, targetSize ?? TargetSize, chromaOffset ?? ChromaOffset) .Tagged(Tag)); }