Фильтр «Шейдер»

Flash Player 10 и более поздних версий, Adobe AIR 1.5 и более поздних версий

Класс ShaderFilter позволяет использовать эффект настраиваемого фильтра, определенного как шейдер Pixel Bender. Поскольку эффект фильтра записан как шейдер Pixel Bender, этот эффект является полностью настраиваемым. Отфильтрованное содержимое передается шейдеру в качестве входных данных изображения, а результат операции шейдера становится результатом фильтра.

Примечание. Фильтр Shader доступен для использования, начиная с Flash Player версии 10 и Adobe AIR версии 1.5.

Чтобы применить фильтр шейдера к объекту, сначала необходимо создать экземпляр Shader, представляющий используемый шейдер Pixel Bender. Сведения о процедуре создания экземпляра Shader и о том, как указать значения вводимого изображения и параметров, см. в разделе Работа с шейдерами Pixel Bender.

При использовании шейдера в качестве фильтра необходимо учитывать три важных момента.

  • Определение шейдера должно предусматривать прием по крайней мере одного вводимого изображения.

  • Фильтрованный объект (экранный объект или объект BitmapData, к которому применяется фильтр) передается шейдеру в качестве значения первого вводимого изображения. Из-за этого не нужно указывать значение первого вводимого изображения вручную.

  • Если шейдер определяет более одного вводимого изображения, дополнительные вводимые данные необходимо указывать вручную (путем задания свойства input любого экземпляра ShaderInput, который принадлежит экземпляру Shader).

После получения объекта Shader для своего шейдера создается экземпляр ShaderFilter. Это конкретный объект фильтра, который используется так же, как и любой другой фильтр. Чтобы создать ShaderFilter, использующий объект Shader, вызовите конструктор ShaderFilter() и передайте объект Shader в качестве аргумента, как показано в данном примере:

var myFilter:ShaderFilter = new ShaderFilter(myShader);

Полный пример использования фильтра «Шейдер» см. в разделе Использование шейдера в качестве графического фильтра.