Filtr Moduł cieniujący

Flash Player 10 i nowsze wersje, Adobe AIR 1.5 i nowsze wersje

Klasa ShaderFilter umożliwia stosowanie niestandardowego efektu filtru zdefiniowanego jako moduł cieniujący Pixel Bender. Ponieważ efekt filtra zapisano jako moduł cieniujący Pixel Bender, efekt można w pełni dostosować do własnych potrzeb. Filtrowana treść jest przekazywana do modułu cieniującego jako dane wejściowe obrazu, a wynik operacji modułu cieniującego staje się wynikiem działania filtra.

Uwaga: Filtr Moduł cieniujący jest dostępny w programach ActionScript pisanych dla programu Flash Player 10 i środowiska Adobe AIR 1.5 lub nowszych wersji.

W celu zastosowania filtra modułu cieniującego do obiektu należy najpierw utworzyć instancję Shader reprezentującą używany moduł cieniujący Pixel Bender. Więcej informacji na temat tworzenia instancji Shader oraz określania danych obrazu wejściowego i wartości parametrów zawiera sekcja Praca z modułami cieniującymi Pixel Bender .

Korzystając z modułu cieniującego w charakterze filtra, należy pamiętać o następujących trzech ważnych kwestiach:

  • Moduł cieniujący musi zostać zdefiniowany tak, aby przyjmował co najmniej jeden obraz wejściowy.

  • Obiekt filtrowany (obiekt wyświetlany lub obiekt BitmapData, na który nakładany jest filtr) jest przekazywany do modułu cieniującego jako pierwsza wartość obrazu wejściowego. Z tego względu nie należy określać pierwszej wartości wejściowej dla obrazu ręcznie.

  • Jeśli moduł cieniujący definiuje więcej niż jeden obraz wejściowy, dodatkowe dane wejściowe muszą zostać zdefiniowane ręcznie (to jest, ustawione za pomocą właściwości input dowolnej instancji ShaderInput należącej do instancji Shader).

Dysponując obiektem Shader dla modułu cieniującego, można utworzyć instancję ShaderFilter. Jest to rzeczywisty obiekt filtrujący, którego używa się podobnie, jak każdego innego filtru. W celu utworzenia instancji ShaderFilter korzystającej z obiektu Shader należy wywołać konstruktora ShaderFilter() i przekazać obiekt Shader jako argument, zgodnie z zapisem w poniższym listingu:

var myFilter:ShaderFilter = new ShaderFilter(myShader);

Pełny przykład użycia filtru modułu cieniującego zawiera sekcja Używanie modułu cieniującego jako filtra .