LINUX.ORG.RU

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

 , , , ,


0

1

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

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

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

Исходный код

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

А с блендером почему не интегрировали?

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

Сначала обслуживаются господа за проприетарным столиком.

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

у майи есть встроенные расширения для анрила и юнити 3д, у блендера нет.

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

Blender может экспортировать сцену в FBX, разве этого не достаточно?

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

нет. fbx в майе и fbx в блендере - это два разных fbx. это во-первых. во-вторых долго объяснять, но в общем нет.

anonymous ()

А OpenSubdiv не то же самое делает?

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

А OpenSubdiv не то же самое делает

судя по описанию это вообще сильно разные вещи

upcFrost ★★★★★ ()

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

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

А OpenSubdiv не то же самое делает?

Нет, он сглаживает сетку и даёт управлять жёсткостью отдельных вершин и рёбер.

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

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

Quasar ★★★★★ ()

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

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

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

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

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

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

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

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

На деле эти движки обрабатывают зад коня в километре от игрока, который никаким образом не видно и потому тормозят.

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

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

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

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

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

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

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

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

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

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

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

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

anonymous ()

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

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

LinuxDebian ★★★ ()

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

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

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

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

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.