Фильтры. Часть IV
feDiffuseLighting. feDistantLight
Фильтр feDiffuseLighting предназначен для добавления рассеянного света к изображениям. Наиболее употребительное его применение - добавление освещенности к текстурам, которые в свою очередь создаются фильтром feTurbulence. Структура фильтра выглядит следующим образом (рис. 10.1):
Этот фильтр обязательно должен содержать внутри себя один из вспомогательных (дочерних) фильтров: feDistantLight, fePointLight или feSpotLight. Отсутствие хотя бы одного из этих фильтров приводит к синтаксической ошибке SVG - документа. Структура фильтра feDistantLight выглядит следующим образом:
Фильтр feDistantLight может использоваться только в составе feDiffuseLighting или feSpecularLighting. Такое разнообразие сочетаний и невозможность выделения отдельного фильтра может поначалу сбивать с толку. Самое главное здесь - разобраться в свойствах отдельных сочетаний. Рассмотрим комбинацию feDiffuseLighting и feDistantLight. Описание атрибутов родительского фильтра feDiffuseLighting приводится в табл. 10.1
| № | Название |
|---|---|
| 10.1.1 | lighting-color |
| Описание | |
| Цвет рассеянного света | |
| Диапазон значений | |
| <color> (См. табл. 2.8) | |
| Значение по умолчанию | |
| white (белый цвет) | |
| № | Название |
| 10.1.2 | diffuseConstant |
| Описание | |
| Постоянная размытия. Отвечает за оттенок цвета, используемого в атрибуте lighting-color. | |
| Диапазон значений | |
| <number> | |
| Значение по умолчанию | |
| 1 | |
| № | Название |
| 10.1.3 | surfaceScale |
| Описание | |
| Атрибут, отвечающий за масштабирование области рассеянного света. Визуально отвечает за резкость выражения текстуры. | |
| Диапазон значений | |
| <number> | |
| Значение по умолчанию | |
| 1 | |
| № | Название |
| 10.1.4 | kernelUnitLength |
| Описание | |
| Размерность внутренней структуры фильтра. | |
| Диапазон значений | |
| <number>, <number> | |
| Значение по умолчанию | |
| 1 |
Фильтр feDistantLight содержит всего два атрибута, описание которых приводится в табл. 10.2:

