Назад в библиотеку

Воксели против полигонов

Авторы: Имхо Крейзи Младший
Описание: В работе проводится сравнение полигональных и воксельных моделей
Источник: Воксели против полигонов. Xakep, номер #010, стр. 010-070 http://www.xakep.ru/magazine/xa/010/070/1.asp

Полигоны

Наверняка ты когда-нибудь где-нибудь что-нибудь слышал о полигонах. Не мог не слышать, если увлекаешься теми родами современных компьютерных игр, которые идут в трехмерной среде. Например, Quake и Unreal во всех своих разновидностях и проявлениях. Или Carmageddon и поздние выпуски Need for Speed. Или Total Annihilation и BattleZone. Да собственно, не мудрствуя лукаво: почти все игры, использующие 3D ускоритель, построены на полигонной графике.

Полигоны – это те самые квадратично-треугольные штуковины (как бы куски мяса), которые разбрызгиваются вместе с кровищей в Quake. Аналог слова "полигон" – многоугольник. Модели монстров, автомашин, танков – все это состоит из некоторого числа многоугольников, обтянутых текстурами, и чем больше многоугольников пошло на модель, тем красивее и реальнее она выглядит в игре.

Все дружно возмущаются: "Почему объекты такие квадратные? Это неестественно!". Между тем очевидно, что полигонные модели никогда не смогут выглядеть натурально, потому что у их составляющих ПЛОСКИЕ грани. Как-то раз я провел рукой по плоской с виду кирпичной стене: на ней было множество мельчайших деталей, которые не смогла бы воспроизвести ни одна текстура.

Теперь представь себе, что гоняешь игру, где каждый кирпич и каждый предмет обстановки действительно СОДЕРЖИТ тысячи мельчайших деталей. Я думаю, это было бы что-то сногсшибательное. Но, к сожалению, сегодняшний уровень развития технологий не дает нам оснований надеяться, что такая степень реализма будет достигнута в ближайшем будущем. Чем больше полигонов идет на каждую модель (а также на детали обстановки и прочее), тем реалистичнее она выглядит и тем выше системные требования. Прямая пропорциональная зависимость.

Однако ведь уже существует система, которая вполне в состоянии осуществить нечто подобное. Воксели, или Элементы объема, способны воссоздавать трехмерные объекты С ЛЮБЫМ УРОВНЕМ ДЕТАЛИЗАЦИИ. И воксельная графика уже используется в игровой индустрии.

Воксели

Впрочем, восторгаться, подпрыгивать на месте от восторга (на радость соседям снизу) и бросаться чепчиками покамест рановато. Полигоны имеют над вокселями всего одно, но критично важное преимущество. Да, действительно, высокая детализация воксельных движков добавляет в игры реализма, воксели способны демонстрировать эффекты динамического освещения в реальном времени не хуже полигонов и воксельные движки не требуют 3D акселераторов (что, кстати, еще к денежной экономии приводит – не нужно тратить деньги на покупку и постоянный апгрейд)...

Полагаю, ты давно уже пытаешься перебить меня и поинтересоваться: "Если воксели действительно настолько более продвинуты, почему, черт побери, они так слабо используются?!" Да в принципе, нет, почему же... Они используются. Например, в недавно выпендрившемся Tiberian Sun – но в данном случае их применение сведено (помимо громких рекламных проспектов) к замене доставших всех двухмерных спрайтов, причем здесь еще надо долго присматриваться, чтобы графика перестала казаться тебе плоской. Или в трехмерной экшен-адвенчуре Outcast – вот только тебе нужен черт знает какой компьютер, чтобы запустить игру в разрешении 640x480, да и разве можно считать идеалом применения воксельной графики убогие кривобокие холмы и похожие на мокрые кляксы изображения персонажей? Или появившаяся в начале 98-го года киберпанковая адвенчура Blade Runner, содержавшая тщательно проработанную и технологически потрясную, но совершенно некрасивую для глаза нормального игрока графику... Чу! Ты спрашиваешь меня, возможен ли Quake на воксельном движке и в таком качестве, чтоб QIII Arena отмерла как страшный сон? Отвечаю: да, возможен. Но...

Но мы еще долго не увидим качественного (я подчеркиваю: качественного) шутера от первого лица на воксельном движке из-за одной серьезной проблемы: воксели требуют ГИГАНТСКОГО количества оперативной памяти и ОГРОМНЫХ вычислительных мощностей для рендеринга в реальном времени. Они лучше полигонов, но и значительно более требовательны. К тому же воксельные движки не поддерживают 3D ускорители, поскольку их графика, в отличие от полигонов, не является векторной. Это означает, что даже Pentium 3-500 со 128 Mb RAM и т.д. и т.п. не сможет гладко потянуть шутер вроде Quake 2 в разрешении хотя бы 640х480 (для сравнения: полигонный Quake 2 в таком разрешении без проблем идет на Р-166 с самой первой Voodoo).

Значит ли это, что о вокселях надо совсем забыть? Нет, конечно! Тот факт, что компьютерные игры в течение какого-то времени не будут широко их использовать, не означает, что их НЕЛЬЗЯ использовать. Так называемые "системы следующего поколения", такие как PSX 2, уже всерьез на это настраиваются.

Например, компания Sony уделяет большое внимание неполигонной графике, потому что считает, что их новая приставка сможет обсчитывать подобные движки с приличной производительностью. Наверное, ты удивлен: как же так, приставка может справляться с воксельной графикой, а РС – нет? Все не совсем так: третий Пень, возможно, и смог бы выдать нам нечто приличное, но ни один девелопер не пойдет на разработку игры, которая будет требовать для запуска самое высокотехнологичное железо. По крайней мере, пока у производителей игр существует альтернатива в виде полигонных движков. Плюс еще добавь тот факт, что на компьютерно-игровом рынке наблюдается гигантское разнообразие всевозможных конфигураций машин с самыми разными вычислительными мощностями. А Sony в состоянии позволить себе экспериментировать, потому что консольные системы являются закрытыми и не апгрейдятся – все выходящее железо и программное обеспечение контролируется компанией-производителем приставки, а разработчики совершенно точно знают, в рамках каких системных ограничений надо остаться при создании новой игры. У Sony есть и еще одно преимущество, которого нет ни у Sega, ни у Nintendo: они выпускают дополнительные примочки для своих консолей. В любом случае, нам остается только сидеть и ждать, пока Sony либо продемонстрирует миру те преимущества, которые можно извлечь из воксельной графики, либо потерпит провал курам на смех.

Как воксели работают

Выражаясь литературно, воксели можно сравнить с трехмерными пикселями. Пиксели используются для разбиения плоских двухмерных картинок на маленькие квадратики, раскрашенные в различные цвета. Воксели делают то же самое, но с трехмерными моделями. Воксельные объекты не являются двухмерными спрайтами, а состоят из кубиков, с раскрашенными соответствующим образом гранями. Это позволяет дизайнерам создавать любой уровень детализации, допускаемый рабочим разрешением игры. Предел детализации определяется путем подсчета использованных в модели вокселей и в соответствии с максимально допустимыми размерами файлов и объемом оперативной памяти, необходимой, чтобы содержать в себе эту модель. Снижение размера файлов может привести к эффекту "пикселизации", при котором каждый воксель будет отчетливо виден, после чего объект больше не будет ни детализированным, ни четким (именно эта судьба постигла Blade Runner и Outcast). Такой же эффект наблюдается и с полигонными моделями: чтобы повысить степень сжатия информации и сэкономить оперативку, дизайнер уменьшает число полигонов, и фигуры получаются уродливо-кубическими (это нам всем прекрасно знакомо).

Воксели не используются повсеместно, потому что большинство игр требуют одновременной демонстрации на экране большого числа сравнительно детализированных моделей. А такие RTS, как Tiberian Sun, обходят это ограничение благодаря низкому разрешению своих воксельных моделей, применяемых в игре (каждая модель в среднем имеет разрешение 160х120). Этот фокус не бросается в глаза, так как сами модели маленькие, да и мониторы у народа не во всю стену. Таким образом экономится оперативную память, да и размеры файлов получаются совсем небольшими.

Что нас ждет

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

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

P.S. При подготовке материалов автор опирался на одноименную статью Криса "Проклона" Виолетта.