Интерактивный симулятор Engiscope переносит физику человеческого глаза в браузер

Фонари ночного города внезапно распадаются на кривые лучи, вытягиваются в асимметричные треугольники и тонут в полупрозрачной дымке ресниц. Дизайнер и разработчик Грей Кроуфорд выложил Engiscope — симулятор, который отбрасывает привычные фильтры размытия и рендерит оптические искажения человеческого глаза по законам физики. Вместо абстрактного ползунка Blur программа оперирует диаметром зрачка, геометрией роговицы и волновыми фронтами света.
Проект позволяет в реальном времени наблюдать, как свет преломляется и искажается, проходя через естественные линзы и преграды. По умолчанию система выставляет диаметр зрачка 4.00 мм, опирается на среднюю длину световой волны 550 нм и работает с виртуальным пациентом в возрасте 30 лет. Все вычисления разворачиваются на GPU: сетка зрачка занимает 256 px при общем окне 1024 px и физическом размере апертуры 16.0 mm. Дискретизация на микроуровне отображает шаг 0.992 0.000 µm, 0.00λ и показатель 5.2 ″/px, выдавая суммарное угловое разрешение 0.58 ′ при параметрах 550+0.00 D и поле зрения 88.0′×1.0.
Физика оптики и анатомические преграды
В Engiscope можно вручную забить рецепт на очки (Prescription SE). Интерфейс принимает базовые офтальмологические параметры — сферу (sph), цилиндр (cyl) и угол оси (axis) раздельно для правого (od) и левого (os) глаза со стартовым значением 0.00. На их основе, а также за счет математического моделирования волнового фронта, программа воспроизводит классические оптические искажения:
- Дефокус (Defocus)
- Сферическую аберрацию (Spherical)
- Астигматизм (Astigmatism)
- Кому (Coma)
- Трефойл (Trefoil)
Но анатомия глаза не исчерпывается хрусталиком. Кроуфорд внедрил в систему механику век (Lids) с симуляцией моргания (Blink) и прищура (Squint). Отдельного внимания заслуживают ресницы: верхний и нижний ряды настраиваются независимо. Для них регулируются веерное расхождение (Fan), случайное дрожание (Jitter), плотность (Density), слипание волосков (Clump), изгиб (Curl) и глубина залегания (Depth). Толщина волоска зафиксирована на физически достоверной отметке 0.070 мм — когда вы щуритесь в темноте на светофор, свет рассеивается именно вдоль этих полупрозрачных цилиндров.
Спектры, рендеринг и библиотека пресетов
Для работы с изображением используется спектральный рендеринг: режим рассчитывает хроматические аберрации сразу по 14 длинам волн (samples 14 λ) с базовым коэффициентом LCA 1.00×. На рендер можно наложить карту апертуры, карту аберраций волнового фронта, дифракционные кольца Эри (airy ring) и тинтование под длину волны (tint to λ). Управление виртуальной камерой включает регулировку экспозиции (2.99× и шкала EV от +0.00), тональную компрессию (3.00), зум 1.00×, абсолютную экспозицию, а также тонкие параметры порога (threshold 0.50), границ (edge 0.050) и детализации до 512 px с инверсией и подменой зрачка.
В качестве тестового полигона в симулятор вшита ночная сцена в формате EXR с разрешением 2048×1024, содержащая 30 703 точечных источника света. Камера охватывает поле зрения (FOV) в 12.0° при углах yaw 0° и pitch 2°, позволяя изучать поведение точечных функций рассеяния (PSF). Чтобы не выкручивать оптические коэффициенты с нуля, автор собрал обширную библиотеку готовых состояний:
- diffraction-limited — идеальный глаз без искажений, ограниченный лишь дифракцией
- defocus — классическая потеря фокуса
- astigmatism — астигматическое двоение
- coma и trefoil — сложные асимметричные аберрации
- spherical — краевые сферические искажения
- keratoconus — моделирование конической деформации роговицы
- typical eye — средний реальный глаз со стандартными погрешностями
- speck on glasses — эффект соринки или пятна на очковой линзе
- squint и half blink — прищур и полуморгание
- −2 d at night — ночная миопия с близорукостью в две диоптрии
Инструмент поддерживает импорт и экспорт настроенных сцен, превращаясь из концептуальной демки в полноценный генератор референсов. Нас подкупило, насколько дотошно здесь смоделированы паразитные световые хвосты, которые CG-художники годами рисовали наугад или собирали из шаблонных ассетов. По-нашему, Engiscope пригодится каждому, кто работает с визуалом от первого лица: для настройки кинематографичных шейдеров, правдоподобного UI в играх или демонстрации того, как интерфейс видит человек с астигматизмом. Вместо того чтобы придумывать «кинематографичный блюр», теперь можно просто скопировать физику чужого взгляда.


