protected override IFilter <ITextureOutput <ITexture2D> > Optimize() { var result = m_Transformation(m_InputFilter); if (m_InputFilter.Size() != result.Size()) { throw new InvalidOperationException("Transformation is not allowed to change the size."); } return(m_Transformation(m_InputFilter)); }
public TransformedResizeableFilter(Func <ITextureFilter, ITextureFilter> transformation, IResizeableFilter inputFilter) : base(inputFilter.Size(), inputFilter.Output.Format, inputFilter) { m_InputFilter = inputFilter; m_Transformation = transformation; }