Служит базовым классом для других теневых классов.
camera — взгляд на мир со стороны света.
Создает новый LightShadow. Этот класс не предназначен для прямого вызова - он используется в качестве базового класса другими световыми тенями.
Включает автоматическое обновление тени света. По умолчанию true. Если вам не требуется динамическое освещение/тени, вы можете установить значение false.
Вид света на мир. Это используется для создания карты глубины сцены; объекты, расположенные за другими объектами с точки зрения света, будут находиться в тени.
Смещение карты теней, сколько прибавлять или вычитать из нормализованной глубины при определении того, находится ли поверхность в тени.
По умолчанию установлено значение 0. Очень маленькие корректировки здесь (порядка 0.0001) могут помочь уменьшить артефакты в тенях.
Экспоненциальное смещение для ESMShadowMap, чтобы уменьшить утечку света, которая может произойти вблизи окклюдера.
По умолчанию - 1. Увеличение этого параметра уменьшает утечку света, но делает тени менее мягкими и делает артефакты самозатенения немного более заметными.
Используется для проверки того, является ли данный или производные классы светотенями. По умолчанию true.
Вы не должны изменять это значение, так как оно используется для внутренней оптимизации.
Карта глубины, создаваемая с помощью внутренней камеры; место, находящееся за пределами глубины пикселя, находится в тени. Вычисляется внутренне во время рендеринга.
Карта распределения, созданная с помощью внутренней камеры; окклюзия рассчитывается на основе распределения глубин. Вычисляется внутри во время рендеринга.
Vector2, определяющий ширину и высоту карты теней.
Большие значения дают лучшее качество теней ценой времени вычислений. Значения должны быть равны 2, вплоть до WebGLRenderer.capabilities.maxTextureSize для данного устройства, хотя ширина и высота не обязательно должны быть одинаковыми (например, (512, 1024)). По умолчанию используется значение (512, 512).
Модель для пространства камеры тени, для вычисления местоположения и глубины в карте теней. Хранится в Matrix4. Вычисляется внутри во время рендеринга.
Если установлено значение true, карты теней будут обновлены в следующем вызове render. По умолчанию false. Если вы установили .autoUpdate в false, вам нужно установить это свойство в true и затем выполнить вызов рендеринга для обновления тени света.
Определяет, насколько позиция, используемая для запроса карты теней, смещена вдоль нормали объекта. По умолчанию 0. Увеличение этого значения может быть использовано для уменьшения акне теней, особенно в больших сценах, где свет падает на геометрию под малым углом. В результате тени могут выглядеть искаженными.
Если установить значение этого параметра больше 1, края тени будут размыты.
Высокие значения вызовут нежелательные эффекты полосатости в тенях - большее значение mapSize позволит использовать здесь более высокое значение, прежде чем эти эффекты станут заметны.
Если WebGLRenderer.shadowMap.type имеет значение PCFSoftShadowMap, радиус не влияет, и вместо этого рекомендуется увеличить мягкость, уменьшив mapSize.
Обратите внимание, что это не имеет эффекта, если WebGLRenderer.shadowMap.type установлен в BasicShadowMap.
Адаптивное смещение, которое зависит от наклона полигона относительно камеры света.
По умолчанию 0.
Используется в основном для наложения теней.
Используется внутри рендерера для расширения карты теней на все видовые экраны.
Обновление матриц для камеры и тени, используемых внутри рендерера.
light — свет, для которого создается тень.
Получает фрустум камеры тени. Используется рендерером для обводки объектов.
Используется внутри рендерера для получения количества видовых экранов, которые должны быть отрисованы для этой тени.
Копирует значение всех свойств из источника source в этот Light.
Создает новый LightShadow с теми же свойствами, что и этот.
Удаляет цели рендеринга карты теней из памяти.
Вы должны вызвать эту функцию, когда хотите удалить ресурсы теневой карты во время работы приложения.
О том как получить исходный код этого модуля читайте тут.