VPano Engine: объёмные 3D-туры на собственном движке
Бюджетный смартфон, открыт 3D-тур, посетитель просто рассматривает комнату. Раньше видеочип в этот момент был загружен на 70–78 %. Теперь — на 0–2 %. Это одно из следствий большого шага: объёмные 3D-туры VPano работают на собственном движке VPano Engine, а не на открытой библиотеке three.js, на которой была построена прежняя версия. Зачем свой движок, если есть готовый? three.js — отличный универсальный инструмент, но у универсальности есть цена: лишний код, чужие решения внутри и обходные пути под наши задачи. Нам нужен был движок под одну работу — показывать 3D-модель объекта с панорамами и плавно проезжать между точками обзора, в том числе на слабых телефонах. Что это дало: — браузер загружает примерно на 70 КБ сжатого кода меньше; — когда посетитель ничего не двигает, кадр не перерисовывается: на Redmi Note 13 в покое 0 кадров в секунду вместо 60, устройство не тратит заряд впустую; — загрузку текстур, подготовку шейдеров и восстановление, если браузер сбросил видеоконтекст, контролируем мы сами. Как переходили. Не переписывали всё разом: меняли подсистему за подсистемой и каждый шаг сверяли с прежней версией попиксельно — на контрольных ракурсах картинка совпадает до пикселя.
WebGPU тоже проверили: на наших сценах выигрыша не дал, поэтому основа — WebGL2, с заделом на будущее.
Прежний путь сохранён как страховка. С 17 октября на VPano Engine открываются опубликованные объёмные 3D-туры в браузере на компьютере и телефоне, с 18 октября — 3D-студия, в которой их собирают. 360°-туры работают как прежде.
Пример — тур архитектурного бюро АРХИГРУП: https://vpano.ru/t/archigroup/diplomat-dostoevskogo/
Дальше новые возможности объёмного 3D-тура строим сразу на своём движке. Ядро рендеринга — наш собственный код, и это тоже про технологическую независимость.