Несколько месяцев назад AR-эксперт Карл Гуттаг опубликовал сравнительный анализ изображений через линзы гарнитур Quest 3 и Apple Vision Pro, чтобы понять, насколько хороша картинка новой негарнитуры. Его выводы оказались неутешительными: как бы хорошо он ни делал фотографии, картинка AVP оказывалась более размазанной, чем в Quest 3, и он списал проблемы картинки на оптику.
Автор клиента ALVR для AVP Shiny Quagsire заподозрил неладное в тестах, которые при всём уважении к Карлу расходились с реальностью. Было известно, что устройство принудительно использует ямковый рендеринг картинки в комплекте с динамической коррекцией искажений, чтобы выводить картинку через свои линзы и дисплеи, и было понятно, что не получится как минимум поставить камеру на место глаза так, чтобы гарнитура не заметила подмены. Но в ходе работы над ALVR Shiny Quagsire узнал про ещё несколько трюков, которыми Vision Pro оптимизирует картинку, делая её хуже для камеры и в некоторых случаях для глаза.
Оказалось, что ямковый рендеринг устройства становится ещё более агрессивным, если глаз прищурен (или если AVP определяет его прищуренным), срезая разрешение в два раза. Уже этого достаточно, чтобы камера не смогла захватить картинку в полном разрешении.
Более того, Apple агрессивно использует MIP-текстуры и почти не даёт разработчику контроля над ними. Если виртуальный монитор диагональю 28 дюймов из теста Карла будет иметь разрешение выше 1080p или будет находиться чуть дальше 70 сантиметров от глаз (у Карла было 30 дюймов – 76 сантиметров), устройство начнёт рендерить текстуры более низкого разрешения даже там, куда смотрит глаз (жёлтые на скриншоте слева). Если экран будет чуть ближе или будет иметь большую диагональ (даже при разрешении 4к), текстуры будут использоваться оригинальные, и плотность пикселей будет полная. А если не использовать MIP-текстуры, картинка будет артефачить, и неизвестно, использует ли MIP-текстуры программа виртуального монитора. И, конечно, здесь уже виноваты Apple, что не дают разработчику контроля над рендером.
И ещё Quest 3 сыграл на руку встроенный суперсэмплинг картинки, которая рисуется на линзы, – у AVP буфер кадра намного меньше и суперсэмплинга нет, поэтому даже при одинаковом PPD картинка AVP будет хуже.
Но Shiny Quagsire всё равно сделал для ALVR функцию стриминга в 40 точек на градус с риском перегрева устройства. И он не знает, как мы будем делать фото картинок сквозь линзы на AR/VR-гарнитурах будущего.
Источники: