РЕКЛАМА
ИНФОРМАЦИЯ
ПОЛЕЗНЫЕ ССЫЛКИ
Метод трассировки лучей против растеризации: новое поколение качества графики?

IDF 2009, день первый: Intel продвигает миниатюризацию

Rambler's Top100 Рейтинг@Mail.ru

ВИДЕОКАРТЫ

Рендеринг с помощью вокселей: новый уровень графики в играх?
Краткое содержание статьи: Недавно мы опубликовали статью, посвящённую методу трассировки лучей. И в нынешней статье мы продолжаем обзор технологий рендеринга, которые могут заменить или, по крайней мере, дополнить растеризацию треугольников, хорошо всем сегодня знакомую. Использование вокселей вместо традиционных треугольников даёт весьма любопытные преимущества по визуальному качеству в играх, хотя недостатки тоже есть. Станет ли эта технология основой будущего 3D-рендеринга в играх? Вполне возможно, ведь на её защиту встал знаменитый Джон Кармак. В нашей статье мы попытаемся доступно изложить современное состояние рендеринга с помощью вокселей.

Рендеринг с помощью вокселей: новый уровень графики в играх?


Редакция THG,  30 октября 2009
Страница: Назад  1 2 3 Далее


Прокладка лучей (ray casting)

Подобно трассировке лучей (ray tracing), прокладка лучей основывается на проведении луча от каждого пикселя картинки. Но отличие в следующем: как только будет найдено пересечение, то алгоритм на этом завершается, вторичных лучей не прокладывается.

Следовательно, прокладка лучей выполняется быстрее трассировки лучей, поскольку, как мы уже показали в предыдущей статье, данные вторичные лучи как раз и приводят к проблемам с доступом к памяти. Более того, вам не нужно создавать дополнительные структуры данных, чтобы ускорить вычисления, связанные с пересечениями. Октадерево является одновременно и данными (геометрия и текстуры), и структурой ускорения.

Преимущества воксельных октадеревьев

Теперь давайте рассмотрим преимущества воксельного октадерева в рендеринге. Основное преимущество этой структуры данных в том, что она обеспечивает весьма элегантный путь решения проблемы уровня детализации (level of detail, LoD) текстур, а также и геометрии - всё это по одному простому алгоритму. Причина кроется в том, что, как мы уже упоминали выше, каждый узел октадерева содержит цветовую информацию, так что мы можем обойтись без 2D-текстур в их традиционном понимании. Или, если быть более точным, октадерево содержит как текстурную информацию, так и геометрическую.

Преимущества воксельных октадеревьев

Следовательно, проблема уровня детализации, которую приходилось совершенно по-разному решать для геометрии и для текстур, теперь сводится к одной простой системе: решению проблемы уровня детализации для октадерева. А это можно сделать очень просто, по принципу, несколько напоминающему mip-уровни текстурирования. Цель создания mip-уровней заключается в сохранении размера текселей (элементы текстуры) максимально близко к размеру пикселей экрана. Для этого текстура просчитывается и сохраняется в нескольких разрешениях, а графический процессор выбирает тот или иной mip-уровень в зависимости от размера текстуры на экране.

Что-то подобное можно сделать и с воксельными октадеревьями, когда уровень детализации будет выбираться автоматически. Если размер вокселя меньше размера пикселя, то прохождение дерева на этом заканчивается. Всё что требуется - сохранить среднее от информации, содержащейся в дочерних ветвях каждого узла, и мы получаем очень простой способ решения проблемы уровня детализации. Этот механизм идеально подходит для потоковых систем визуализации, несколько напоминающих ту, что id Software уже использовала для MegaTextures. В видеопамяти хранятся только те части октадерева, которые нужны, некоторые части располагаются в основной оперативной памяти, чтобы ускорить последующий доступ. Но большая часть октадерева просто находится на хранилище.

В результате мы можем получить почти безграничное количество геометрии (и текстур, как мы отметили). Октадерево может быть настолько детализовано, насколько нам нужно, и во время работы объём памяти и время вывода на дисплей остаются (относительно) постоянными. Единственными ограничениями являются количество времени, которое художники могут потратить на создание октадеревьев, и физические ограничения накопителей в компьютерах следующего поколения.

Преимущества воксельных октадеревьев

Также следует отметить, что существуют другие возможные способы решения упомянутых проблем, например, использование систем с виртуальными текстурами, подобных MegaTextures, или других технологий (например, sparse virtual textures), которые будут встроены в самые крупные 3D-движки (CryEngine 3, idTech 5 и т.д.) в следующем году. Проблему геометрии решать сложнее, но и здесь готовятся несколько возможных решений. Самое простое из них включает предварительный расчёт нескольких версий сетки треугольников в разных разрешениях, после чего выбирается вариант, наилучшим образом соответствующий расстоянию от сетки до камеры. Это простое решение реализовать легко, однако оно приводит к появлению существенного количества визуальных артефактов при переходе с одного уровня детализации на другой.

Некоторые исследователи работали над тем, чтобы сделать переход с одного уровня детализации на другой более плавным, используя так называемую прогрессивную сетку. Идея состоит в том, что для каждого уровня детализации вершины разбиваются на две группы: родительские вершины и дочерние вершины. При понижении уровня детализации дочерние вершины постепенно рисуются ближе к своим родительским вершинам. Когда уровень детализации достигает нового целочисленного значения, дочерние вершины удаляются, а также и все грани, которыми они соединялись с родительскими вершинами.

Преимущества воксельных октадеревьев

Преимущества воксельных октадеревьев

Преимущества воксельных октадеревьев

Преимущества воксельных октадеревьев

Данная техника работает, но не полностью автоматически. Ей требуется дополнительная информация со стороны художника, который смог бы указать, какие грани важнее всего сохранить. Эта дополнительная работа означает и то, что художник получит меньше времени на доработку моделей.

Ещё один способ решения проблемы (о котором мы очень много слышим после появления видеокарт с поддержкой DirectX 11) заключается в тесселяции примитивов высокого порядка (патчей), возможно вместе с картами смещения (displacement mapping). Появление данной технологии уже давно случилось на бумаге (да, вспомним Parhelia), но практических результатов пока не было. Возможно, это как раз тот случай, когда мы получим практическое воплощение.

Преимущества воксельных октадеревьев

Опять же, данная техника вполне актуальна и имеет определённые шансы на успех, если со стороны Microsoft и AMD будут приложены усилия, чтобы направить разработчиков в нужное русло. Но воксельные октадеревья остаются весьма жизненной альтернативой. Как мы уже говорили выше, они могут решить проблему геометрии и текстур с одним алгоритмом, да и позволяют очень легко выбирать уровень детализации. В конце концов, оценить размер вокселя на экране проще, а для треугольника - сложнее.

Потенциальные ограничения вокселей

Но хотя эта техника и привлекательная, у неё есть свои недостатки. Основная проблема выходит из того, что строить октадеревья очень накладно по вычислениям, то есть нереалистично рассчитывать на модификацию структуры данных в реальном времени. Этот недостаток приводит к тому, что использовать воксельные октадеревья для динамической геометрии довольно сложно. Предложение Id Software для обхода этой проблемы заключается в использовании октадеревьев только для статической геометрии, когда все динамические элементы сцены будут отображаться через старую добрую растеризацию треугольников.

Довольно обидно, что подобный новый шаг вперёд сочетается с таким ограничением. При переходе технологии на новое поколение геймеры, как правило, ожидают перехода на новый уровень взаимодействия с ландшафтом. Когда мы говорим о вокселях, то геймеры обычно представляют себе миры, которые могут быть, наконец, полностью уничтожаемыми, когда можно взорвать стену и получить изменение геометрии, которая откроет несколько слоёв материалов. Но, по крайней мере, на сегодняшний день вполне ясно, что в ближайшем будущем мы такого не получим. Так что придётся смириться с неразрушаемыми стенами ещё несколько лет.

Ещё одна проблема кроется в том, что нам что-то нужно делать с потоковой системой. Как мы уже говорили, данная технология рендеринга хорошо подходит для постепенного увеличения уровня детализации по мере приближения к объекту, когда система будет в фоне вызывать данные из октадерева. Из-за способа организации данных это можно сделать плавно. Но что произойдёт, когда мы телепортируемся в другую часть мира? Геометрия будет уникальна, и потоковая система будет поставлена "на колени". Поэтому можно ожидать вывода некоторого времени очень простой геометрии, с постепенным улучшением детализации. Либо дизайнерам игры придётся как-то обходить этот недостаток, избегая упомянутых ситуаций.

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

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

Потенциальные ограничения вокселей

Последняя проблема: несмотря на преимущества структуры данных октадерева, память, требующаяся для хранения целого мира в форме вокселей, просто огромна. Как вы уже видели, это не влияет на ресурсы, необходимые для текущего выполнения. Но, с другой стороны, чтобы создавать, хранить и передавать пользователям подобные структуры данных id Software предстоит сделать немало серьёзной работы по технологиям сжатия. Джо Олик (Jon Olick) сказал пару предложений на эту тему - похоже, он доволен уровнем сжатия, которого удалось достичь.

Заключение

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

Заключение

Прокладка лучей с воксельными октадеревьями - это, в частности, весьма обещающая техника, которая может существенно увеличить сложность геометрии в играх будущего. Конечно, пока она находится всё ещё на экспериментальной стадии, и демонстрация Олика на SIGGRAPH призвана больше показать осуществимость техники, чем что-либо другое. И на многие вопросы пока ещё не найден ответ.

Один из таких вопросов, способный оказать решающее значение на будущее технологии, касается инструментов редактирования, с которыми будут работать художники. Олик сказал, что он ожидает эволюцию системы, которая сегодня используется для MegaTextures; она позволяет художнику использовать буферы, чтобы добавлять детали к текстуре. Подобная система, которая заменяет модификацию карт нормалей, должна изменить геометрию с данной технологией. Но на данный момент всё находится ещё на этапе концепций, да и красивые демонстрации - это далеко ещё не самый сложный этап. Нужно представить технологию в виде законченного продукта, достаточно стабильного и эффективного.

Впрочем, всё равно очень интересно видеть модель, анимированную с несколькими миллионами полигонов (семь миллионов в начальной модели, сделанной с помощью ZBrush) с частотой кадров 60 fps на текущем поколении видеокарт. Эти предварительные результаты звучат очень обещающе, если вы подумаете о графических процессорах, которые будут доступны в то время, когда технология выйдет на рынок. Учитывая время разработки современных игр, а также и то, что id Software не планирует выпустить Rage до следующего года, нам, вероятно, придётся подождать три или четыре года, прежде чем игры с данным способом рендеринга появятся на прилавках магазинов.


СОДЕРЖАНИЕ

Отзывы о методе рендеринга с помощью вокселей в Клубе экспертов THG [ 6 отзывов] Отзывы о методе рендеринга с помощью вокселей в Клубе экспертов THG [ 6 отзывов]


РЕКЛАМА
РЕКОМЕНДУЕМ ПРОЧЕСТЬ!

История мейнфреймов: от Harvard Mark I до System z10 EC
Верите вы или нет, но были времена, когда компьютеры занимали целые комнаты. Сегодня вы работаете за небольшим персональным компьютером, но когда-то о таком можно было только мечтать. Предлагаем окунуться в историю и познакомиться с самыми знаковыми мейнфреймами за последние десятилетия.

Пятнадцать процессоров Intel x86, вошедших в историю
Компания Intel выпустила за годы существования немало процессоров x86, начиная с эпохи расцвета ПК, но не все из них оставили незабываемый след в истории. В нашей первой статье цикла мы рассмотрим пятнадцать наиболее любопытных и памятных процессоров Intel, от 8086 до Core 2 Duo.

ССЫЛКИ
Реклама от YouDo
Сиделка в Москве на http://personal.youdo.com/.