Новость

Интерактивный симулятор 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 в играх или демонстрации того, как интерфейс видит человек с астигматизмом. Вместо того чтобы придумывать «кинематографичный блюр», теперь можно просто скопировать физику чужого взгляда.

Ещё новости

Все новости →