public ITextureFilter ApplyTo(IEnumerable <ITextureFilter <IBaseTexture> > inputs) { var folded = inputs.Fold(); return(new TextureFilter( from _ in FilterBaseHelper.Bind(this) from values in folded select Allocate(folded.Output).Do(Render, values))); }
public IAudioFilter ApplyTo(IAudioFilter input) { if (m_Initialized) { throw new InvalidOperationException("AudioProcesses can only be used once."); } m_Initialized = true; Initialize(); return(new AudioFilter(from _ in FilterBaseHelper.Bind(this) from value in input select Allocate(input.Output).Do(Render, value))); }
private ManagedTextureFilter(ILease <ITextureOutput <TTexture> > lease) : base(FilterBaseHelper.Bind(lease).Map(x => x.Value)) { }