Компьютерра PDA 24.04.2010-30.04.2010 - страница 12

Шрифт
Интервал

стр.

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


стр.

Похожие книги