1.1.4
EN

Настройки›Оптика

Оптика

Преломление, отражения и дисперсия используют общую модель диэлектрика в экранном пространстве.

Показатель и оптический путь

ior — показатель преломления: 1–2.4, по умолчанию 1.5. Значение 1 соответствует воздуху и не даёт геометрического преломления. Закон Снеллиуса применяется к кривому профилю, высота которого ограничена толщиной. thickness — оптическая толщина в CSS-пикселях, 0–96, по умолчанию 6; depth — ширина кривизны. Отдельный strokeThickness, 0–8 px, по умолчанию 1, задаёт линию обводки.

Отражения Френеля

При включённых отражениях неполяризованные уравнения Френеля определяют смешение прошедшего и отражённого света. Отражение усиливается на скользящих углах поверхности. Окружение берётся из изображения сцены; скрытое трёхмерное пространство не восстанавливается.

Две модели дисперсии

РежимПоведение
artisticХудожественное смещение RGB; по умолчанию.
physicalПриближение Коши для 610, 550 и 460 нм; общий коэффициент масштабируется силой дисперсии.

dispersion="0" выключает разделение каналов. Физическое разделение зависит от угла падения на поверхность и оптического пути, а не угла декоративного направленного света. Модель не калибрована под марку стекла и не рассчитывает полный спектр.

<edinstvo-glass ior="1.5" thickness="12" depth="12"
  reflection="1" dispersion-mode="physical" dispersion="0.5" frost="0.1">
  Содержимое
</edinstvo-glass>

Ограничения и проверки отрисовки

Это 2D-линза с ортографическим взглядом. Не моделируются многократные внутренние отражения, поляризация и полный спектральный перенос. Tint, lift, bloom, касание и адаптация контраста — художественные настройки; их комбинация не является полностью энергосохраняющей спектральной моделью.

Тесты читают отрисованные контуры, нормали и смещения. Проверяются симметрия кривых без дыр, непрерывность перемычек, капсулы на большой глубине и отсутствие преломления при IOR 1 — на DPR 1 и 2. Это защита от конкретных регрессий, а не доказательство отсутствия любых артефактов.

Измерения производительности

Итоговый локальный сценарий: 16 поверхностей, 40 шагов, viewport 1100×850, DPR 1. После прогрева нет выделений текстур и поисков uniform, в простое нет отрисовок. Медиана шага — 42.6 мс, p95 — 120.1 мс; шаг ждёт два кадра браузера, поэтому это не FPS. Старое ограничение в восемь композиций убрано: оно теряло нижние слои стекла. Корректная композиция требует больше работы; общий прирост FPS не заявляется.

Буферы размытия переиспользуются. LRU исходных текстур ориентируется на 64 МиБ и 32 записи; активная текстура может одна превышать бюджет. У SVG-атласов отдельный ориентир 32 МиБ. Сохранено полное Gaussian-ядро из 17 выборок: парное семплирование на дробных mip-уровнях давало полосы на Retina.