Фильтры. Часть 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: