LINUX.ORG.RU

Открыт код Seurat — системы оптимизации 3D-сцен

 , , , ,


0

1

Компания Google объявила об открытии своей системы для оптимизации 3D-сцен Seurat (лицензия — Apache 2.0). Этот инструмент предназначен для снижения потребления ресурсов и ускорения отрисовки 3D-сцен на мобильных системах виртуальной реальности, за счёт уменьшения количества треугольников, небольших искажений света и более шероховатых поверхностей, но без видимых потерь в качестве.

Суть оптимизации в том, что сцены в шлемах виртуальной реальности обычно просматриваются в ограниченной области видимости, и это можно использовать для оптимизации геометрии и текстур в 3D-сцене. Seurat получает на входе данные о цвете и глубине изображения и генерирует текстурированную полигональную сетку, отвечающую заданным требованиям по числу треугольников, размеру текстуры и интенсивности заполнения.

В Seurat могут быть добавлены любые 3D-сцены вне зависимости от используемого рендера, включая игровые движки. Подготовлены плагины для интеграции с Unreal Engine 4, Unity3D и Autodesk Maya.

Исходный код

>>> Подробности

Если рипнуть сцену из gpu разве не то же самое будет? Игровые движки неплохо справляются с отсечением невидимых поверхностей.

anonymous ()

Для тупых поясните - в чем именно новизна?

Уже второй десяток лет, как объекты перекрывающие друг друга и/или невидимые глазу не обсчитываются. Или нет?

zgen ★★★★★ ()
Ответ на: комментарий от zgen

Новизна в том, что оно пытается сделать костыли, уменьшая количество полигонов там, где это вообще возможно. Если я правильно понял новость. Гифка по ссылке, конечно, показывает то, о чем ты говоришь и это странно.

buddhist ★★★★★ ()
Ответ на: комментарий от buddhist

В том смысле, что уменьшать количество полигонов, размер текстур и отсекать (не обсчитывать) невидимые куски сцен банальные 3D ускорители и игры умеют давно.

Может быть мобильные ускорители не умеют?

zgen ★★★★★ ()
Ответ на: комментарий от zgen

Не знаю что делает штука из оп-поста, но есть такие вещи как тесселяция и нормалмаппинг, которые заставляют низкополигональную модель выглядеть как высокополигональную.

anonymous ()
Ответ на: комментарий от zgen

С этим сложно, на самом деле - общих универсальных методов, или дающих 100% отсечение расчетов невидимой геометрии - не существует.

Более того, в силу технического прогресса многие, более точные методы вроде двоичного разбиения пространства сцены или октодеревьев в наше время уступили более грубым методам - вроде проверки Bounding Box по всей сцне на попадание во Frustum камеры, ну и порталы/сектора для indoor уровней еще живы.

Просто потому что BSP деревья времен третьекваки на современных высокополигональных и разрушаемых уровнях с большими пространствами - тупо приведут к промахам кеша, раздуванию памяти и тормозам вывода геометрии в виду большого количества вызовов отрисовки.

anonymous ()
Ответ на: комментарий от anonymous

Не знаю что делает штука из оп-поста, но есть такие вещи как тесселяция

Тесселяция делает именно высокополигональную геометрию на ходу, с высокой стоимостью расчета. Собсвтенно, именно поэтому и редко где используется - потому что тяжелая.

Нормалмаппинг - всего лишь текстура для расчета освешения поверхности полигона, топологию и геометрию с помощью неё не определить.

anonymous ()

но без видимых потерь в качестве.

Я бы так не сказал, он хорошо так изуродовал картинку, а на цилиндрах еще и текстуры перекрутил. Про черные артефакты (как некорректная нормализация) я вообще молчу...
Пойдет разве, что как «лучше так чем никак».

LinuxDebian ★★★ ()

подобного на гитхабе просто Тонны, и пишется подобное за пару дней/неделю, выкинули какойто «корпоративный хело ворд» ради пиара

написаны эти оптимизатры было 15-20 лет назад, сейчас на ПК/консолях это никому не нужно (а мобилки будут страдать со своими 200 полигонами без шейдеров)

missxu ()
Ответ на: комментарий от LinuxDebian

Может картинка и потеряла в детализации, но общее настроение изображения не пострадало ничуть, а местами даже лучше стало. Притом разница между 2,5 и 255 FPS (это если что в сто раз, Карл!) того стоит. И текстуры на цилиндрах никто не перекрутил, это экраны с проплывающим изображением, просто разные кадры.

anonymous ()