Облака точек заменят полигоны Игорь Осколков

We use cookies. Read the Privacy and Cookie Policy

Облака точек заменят полигоны

Игорь Осколков

Компания Unlimited Detail продемонстрировала новую технологию рендеринга трёхмерных сцен. Её уникальность заключается в том, что она позволяет обсчитывать сложнейшие сцены силами исключительно центрального процессора — без использования видеокарты. Более того, разработчики заявляют, что вовсе не обязательно использовать самые мощные процессоры. Звучит не слишком правдоподобно, но демонстрация технологии не может не впечатлять.

Разработка Unlimited Detail ведётся с 2004 года, а выход первой версии намечен на 2011 год. На данный момент доступна всего пара демонстрационных роликов с кратким рассказом о принципах работы новой технологии и сравнением с уже существующими методиками. Технические же подробности раскрываются крайне скудно. Также нет никакого демонстрационного приложения, которое можно было бы запустить на своём компьютере и воочию убедиться в достоинствах Unlimited Detail. Зато в ролике показывается красивая сцена, которая состоит из восьми миллиардов точек. Причём отрисовывается она со скоростью 25 кадров в секунду всего на одном ядре процессора.

http://www.youtube.com/watch?v=Q-ATtrImCx4

Так как же всё это работает? В рассказе разработчики красочно описывают недостатки современной трёхмерной графики, которая базируется на полигонах. В пример приводится относительно невысокая детализация и угловатость объектов. В современных видеокартах эти ограничения обходятся с помощью различных ухищрений – например, тесселяции, которая наконец-то появилась в DirectX 11.

Разработчики Unlimited Detail предлагают отказаться от полигонов вообще, а вместо них использовать так называемое «облако точек» (point clouds), которые по своей сути очень напоминают воксели — трёхмерный аналог пикселей. Вся сцена состоит как раз из таких точек. Преимущество новой технологии заключается в том, что любой объект можно отрисовывать максимально подробно. При использовании полигонов такого достичь практически невозможно. Разработчики даже заявляют о возможности бесконечной детализации. Тут, правда, стоит оговориться — бесконечное число точек должно потребовать для хранения бесконечный объём памяти, а на их отрисовку уйдёт бесконечное время. Так что не будем пытаться интерпретировать слова авторов технологии слишком буквально.

При ближайшем рассмотрении Unlimited Detail возникает много вопросов. В ролике показывается сцена, которая состоит из 8-ми миллиардов точек. Каждая точка должна иметь как минимум координаты и цвет. Получается, что сцена в чистом виде занимает пару-тройку десятков гигабайт. Причём доступ к этому объёму памяти должен быть очень быстрым. Так что вариант чтения данных с жёсткого диска отпадает, и весь этот массив должен храниться в оперативной памяти. Это в теории. На практике разработчики заявляют, что они придумали некий уникальный алгоритм сжатия «облака точек». Опять-таки, никаких подробностей о нём нет.

Теперь самое интересное – как разработчикам удалось добиться столь высокой скорости отрисовки. Секрет объясняется довольно просто – на экран выводятся только те точки, которые в данный момент должен увидеть пользователь. Например, разрешение экрана составляет 1024x768, то есть надо отрисовать всего-то 786432 точек. С такой задачей, действительно, может справиться даже Intel Atom. Настоящая задача — из миллиардов точек выбрать только те, которые нужно вывести на дисплей. В этом-то и заключается главное ноу-хау Unlimited Detail. Разработчики заявляют, что придумали очень быстрый алгоритм поиска по массиву точек.

Брюс Делл, директор компании Unlimited Detail, сетует, что современные видеокарты только и делают, что занимаются обсчётом полигонов. При этом их производительность растёт всего на 22% в год, и пора бы уже прекратить эту бессмысленную гонку. Он искренне верит, что новая технология в буквальном смысле убьёт весь рынок видеокарт и профессиональных графических ускорителей. Он также надеется, что в течение 16-ти месяцев на рынке уже появятся первые игры на базе Unlimited Detail.

NVIDIA и ATI на удивление спокойно отреагировали на столь смелые заявления. Точнее, обе компании просто проигнорировали их. В чём же дело? Даже если предположить, что разработчикам Unlimited Detail действительно удалось создать алгоритмы сжатия и поиска точек, то всё равно остаётся очень много неясных моментов.

Например, сцена из ролика по размерам намного меньше, чем уровень в любой современной игре. Отдельная локация из, к примеру, Bioshock будет состоять из десятков, а то и сотен миллиардов точек. Сколько это будет в гигабайтах? Сложно представить. Для традиционных игр все технологии давно отработаны. Координаты полигонов занимают не так много места, текстуры прекрасно сжимаются, а все красоты делаются при помощи шейдеров и прочих ухищрений.

Вопросы вызывает и возможность моделирования световых эффектов в облаке точек: прозрачности, отражения, преломления, бликов и так далее. За все эти эффекты в полигональной графике отвечают именно шейдеры. Теоретически, различными ухищрениями реализовать их можно и для точек, но это приведёт к резкому росту нагрузки на процессор. А ведь настоящей игре нужно тратить ресурсы и на искусственный интеллект, физические модели объектов, их взаимодействие и многое другое. Вся эта нагрузка обычно ложится именно на центральный процессор. Конечно, всё вышеперечисленное можно рассчитывать и на видеокартах (при помощи PhysX, например), но какой тогда смысл в Unlimited Detail?

Не стоит забывать, что все эти облака точек — это всего лишь разновидность вокселей. Их, в свою очередь, очень сложно анимировать. Отчасти по этой причине воксели нечасто применяются в игровой индустрии. Другая проблема вокселей — слишком высокие требования к ресурсам компьютера. В демонстрационном ролике Unlimited Detail представлена всего лишь статичная сцена. Вообще, эта технология в чём-то напоминает другой известный продукт — ZBrush. «Unlimited Detail внешне очень похожа на воксели, но с хитрым алгоритмом отсечения, — комментирует преподаватель компании Real Time School Вадим Борзенко, — Не исключено, что разработчики в далёком 2004-ом году вдохновились ранней версией ZBrush. Вопрос в том, как они хранят данные и осуществляют поиск по ним».

Наконец, нельзя не упомянуть экономический аспект. На разработку игр сейчас тратятся десятки миллионов долларов. Существует огромный штат специалистов. Большинство средств разработки созданы с учётом полигональной технологии. Почти все алгоритмы трёхмерной графики работают именно с ними. Игровая индустрия банально может оказаться не готовой к такой резкой смене ориентиров. Разработчики Unlimited Detail признаются, что на данный момент даже нет никаких утилит, которые могли бы конвертировать традиционные трёхмерные модели в облака точек. Небольшие студии могут относительно быстро перейти на новую технологию, но таким грандам как, например Electronic Arts, переход обошёлся бы в гигантские суммы.

Существует ещё один очень тонкий нюанс. При разработке игр принято использовать относительно простые модели объектов, а затем доводить их внешний вид до приемлемого с помощью различных технологий. Такой подход позволяет за короткие сроки создавать достаточно детализированные модели. В случае с Unlimited Detail всё гораздо сложнее. Каждый объект придётся вручную создавать с очень высокой детализацией. Чем детальней надо представить такой объект, тем больше времени уйдёт на отрисовку.

Unlimited Detail – действительно очень интересный проект. Но до выхода SDK и первых приложений говорить о перспективах рано. Брюс Делл надеется, что его детище приживётся не только на приставках и ПК, но и на мобильных устройствах. Также сейчас ведутся переговоры о коммерциализации технологии. Разработчики надеются, что в будущем они смогут договориться о сотрудничестве с каким-нибудь из крупных вендоров: ATI, NVIDIA или Intel. Но пока сама мысль о том, что видеокарты в скором времени исчезнут, кажется чересчур наивной. Слишком много сил и времени было вложено в эту индустрию, чтобы в один прекрасный миг какая-то мелкая австралийская компания уничтожила её.

К оглавлению