Технология TRUFORM— новое лицо игры
технологии по улучшению качества изображения
Apple
TRUFORM

Не так давно один из немногих реальных конкурентов nVidia, компания ATI , анонсировала свою новую технологию TRUFORM. Именно она должна стать тем новым супероружием, которое спасет старого гиганта видеоиндустрии от глобального наступления сверхмощной nVidia.

Ситуацию, сложившуюся на рынке видеоакселераторов, в двух словах можно описать так. Современные видеокарты показывают довольно хорошую производительность, имеют неплохие показатели fps, но все же даже самые современные игры, а именно для них акселераторы в основном и производятся, выглядят довольно «кривовато». Угловатость форм давно стало настоящим бичом современных геймеров. И даже совсем новые карты на базе GeForce 3 вряд ли сильно изменят сложившуюся обстановку. Дело в том, что разработчики игр всегда ориентируются на какой-то средний сегмент рынка видеокарт, специально занижая ресурсы, используемые программами. Это и понятно: немногие из нас в состоянии позволить себе hi-end видеоакселераторы. А некоторые не смогут или не захотят каждый раз покупать самую крутую видиху сразу после ее выхода. Компания ATI решила изменить такое состояние дел, анонсировав принципиально новые наработки в области обработки графики. Имя им TRUFORM . Реальное их применение, по заявлению самой компании, будет реализовано в чипах нового поколения RadeOn II.

Технологии по улучшению качества изображения, используемые в ускорителях на базе GeForce 3 , уже давно являются классикой жанра. Сглаживание и попиксельное затенение дают возможность качественно улучшить 3D-изображения практически без ущерба для скорости. Плюс немаловажную роль сыграют наработки Microsoft, реализованные в новейшем DirectX 8. В свою очередь компания ATI разрабатывает собственную уникальную технологию, радикально меняющую качество изображения не только в новых, но и в уже существующих играх.TRUFORM

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

Давайте увеличим число треугольников или сегментов сферы. Таким образом мы придадим объекту более реалистичный вид (рис. 3). С дальнейшим увеличением треугольников изображение будет все больше и больше «округляться» (рис. 4). Для достижения максимального эффекта изображения сферы необходимо использовать бесконечное число полигонов.

Итак, вы можете заметить, что, чем больше полигонов сферы, тем усугубляется реализм: из двух соединенных основаниями пирамид фигура преобразуется в 100-сегментную, почти правильную сферу. Аналогично описываются все остальные объекты в игре, например, монстры или движущиеся предметы. Поэтому огромное внимание при конструировании сцен, персонажей и других объектов разработчики и художники уделяют именно количеству применяемых треугольников (или полигонов), из которых состоит сцена. Но с возрастанием числа полигонов в сцене соответственно возрастает и нагрузка по вырисовыванию, трансформации и освещению на видеоакселератор. Также потребуется дальнейшее увеличение как пропускной способности шины памяти для передачи информации о треугольниках на графический чип, так и количества памяти для хранения всех этих полигонов. Но если проблема увеличения памяти и пропускной способности может быть решена сравнительно просто, благо, SDR- и DDR-память относительно невелики, а в не очень далеком будущем введут новый стандарт AGPx8 , то вот графический чип может обрабатывать лишь ограниченное число треугольников за такт . Поэтому разработчики игр должны соблюдать некий баланс между числом треугольников, описывающих сцену, и ее визуальным качеством. Еще раз отмечу, что для идеально реалистичного представления сцены необходимо использовать как можно большее количество треугольников, однако здесь мы наталкиваемся на аппаратные ограничения, так как игры должны выпускаться с учетом оборудования, на котором они станут работать. Причем для успешной продажи желательно, чтобы игра запускалась не только на самых мощных системах, поэтому большинство игр значительно ограничивают количество используемых в сцене полигонов. Например, в Quake III Arena в среднем в сцене их насчитывается 10 000 штук.

Итак, мы пришли к выводу, что количество полигонов нужно бы увеличить для лучшего восприятия игры, но несовершенство аппаратного оборудования сдерживают эти благие замыслы. Поэтому необходимо использовать другую, специальную технологию для придания персонажам и объектам естественных форм и должной доли реалистичности. Чего никогда не хватало в современных 3D-играх? Правильно, настоящей кривизны :-). Один из способов описания кривых поверхностей недавно был реализован. С его помощью уже создана потрясающая компьютерная графика в таких фильмах, как «Игрушечная история 2» (Toy Story 2), «Жизнь жуков» (Bug’s Life), клипах, например, Blur (I feel 65) и даже рекламе (жук от Samsung). Возможность создания реалистичной графики обеспечивается тем, что построенные из двумерных линейных полигонов 3D-изображения создают впечатление «блочности», которое отсутствует при прорисовке форм кривых поверхностей третьего порядка. Для того чтобы создаваемые в реальном времени сцены компьютерных игр выглядели подобно компьютерным фильмам, необходима поддержка кривых поверхностей со стороны видеоакселераторов. В принципе разработчики игр могут нарисовать сцены и объекты из кривых поверхностей, например, с помощью формул кривых линий и поверхностей (ведь не зря мы их учили в универе :-)), но проблема заключается совсем не в этом, а в том, что их нужно будет как-то отобразить на персональном компьютере.

Все графические карты, используемые в домашних компьютерах, разработаны с учетом необходимости прорисовки наборов полигонов, а не кривых поверхностей. Инженеры ATI предложили достойный выход из этой ситуации. Так как сейчас практически невозможно продавать потребительскую систему на основе рендеринга кривых поверхностей, то ATI решила использовать оба варианта: кривые поверхности и полигональные модели. Технология TRUFORM основана на получении полигональной информации из игры, внутреннем преобразовании треугольников в кривые поверхности с последующим созданием новых треугольников, которые уже и будут отображаться на сцене.TRUFORMВсе это, конечно, не так-то уж просто. Внимание, далее идет небольшой участок сплошь и рядом переполненный математическим грузом. Давайте разберем работу нового движка от ATI. Треугольник задается шестью параметрами при передаче на графический чип для дальнейшей работы: три вершины треугольника и три нормали к этим вершинам. Используя полученную информацию, графическая карта создает треугольник (соединяя вершины) и накладывает освещение и тени с помощью нормалей (нормали показывают, как свет должен отражаться от треугольника). Инструкции TRUFORM осуществляют этот процесс по-другому. Как только информация о треугольнике будет передана процессору (включая данные о вершинах и нормалях), TRUFORM начинает создавать N-патчи (N-Patches) , которые формируют сетку N-патчей. Сетка N-патчей — это кривая поверхность, описываемая полученной из линейных треугольников информацией. Для создания N-патча над каждой из сторон треугольника помещается две контрольные точки — таким образом формируется шесть новых вершин (плюс центральная вершина). Две контрольные точки, прилегающие к одной вершине и принадлежащие разным сторонам, находятся на одной плоскости, перпендикулярной нормали. На рисунке 5 контрольная точка b210 принадлежит плоскости, перпендикулярной нормали N1, и находится над стороной P1P2. Контрольные точки размещаются на основе информации, полученной из нормалей.

TRUFORMПеревожу весь это бред на великий русский. Целью нормали является описание отражения света от поверхности около этой точки, поэтому можно сказать, что она описывает и характер поверхности объекта. Способ отражения света указывает на форму и очень эффективно подчеркивает кривизну поверхности. Например, если направить на шар или выпуклую плоскость прямой свет, то он будет сильнее всего отражен в центре, и по мере удаления от центра яркость уменьшается, тогда как свет, падающий на плоскую поверхность и удаленный от нее на сравнительно большое расстояние, распределяется по всей плоскости равномерно. Как только полигон будет преобразован в N-патч, создается кривая поверхность из плоских треугольников.В сумме используется 9 смежных треугольников (рис. 6), которые формируют поверхность, очень на поминающую настоящую. Треугольник преобразуется из двумерного вида с координатами x и y в трехмерное представление с добавлением координаты z. Все это отчетливо видно на иллюстрации ниже Подобные вычисления будут производиться с помощью T&L-движка, что позволяет надеяться на то, что уменьшения производительности при создании новых поверхностей не произойдет. После такой операции поверхность превращается в кривую, затем она разделяется на мелкие треугольники благодаря процессу тесселяции (tesselation). Уровень тесселяции может задаваться как глобально в игре, так и индивидуально для каждого объекта. В результате этого количество треугольников (полигонов) значительно увеличивается, и, как следствие, поверхность становится более реальной. При этом разбивка осуществляется столько раз, сколько нужно. Чем большее число разбиений произойдет (чем больше уровень тесселяции), тем выше будет качество изображения, которое затем создается с помощью тесселированных из кривой поверхности треугольников.

TRUFORM

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

Как вы помните, N-патч определяется 10 точками, три из них — вершины начального треугольника, и семь получаются с помощью технологии TRUFORM. Эти точки являются вершинами отдельных треугольников, однако семь из них не имеют информации о своих нормалях. Информация нормали используется процедурой затенения по методу Гуро для освещения объекта (сейчас чаще всего применяется именно затенение Гуро). Так как три вершины подлинного треугольника отстоят друг от друга на определенном расстоянии, то затенение по методу Гуро приведет к смешению и очень нереалистичному освещению. Один из выходов состоит в применении попиксельного затенения, или затенения по методу Фонга, когда расчет освещения производится для каждого пикселя треугольника. Однако использование N-патчей дает еще один способ освещения, более точный по сравнению с методом Гуро.

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

TRUFORM

Освещение новой поверхности рассчитывается отдельно для каждого маленького треугольника и выглядит все это лучше, чем в случае освещения подлинного большого треугольника. Картина очень напоминает реализацию затенения по Гуро для каждого маленького треугольника, по качеству близкую к уровню затенения Фонга. Наверное, каждому читателю уже очень захотелось посмотреть на конечный результат этого метода. Он действительно впечатляет.TRUFORMПерсонажи, отрисованные по этому методу, как видно на рисунках, выглядят как живые (или живее, чем остальные :-)). Сравните: рис. 10 и 12 — персонажи из Quake III Arena, обычный рендеринг. А вот они же из Quake III: Arena — рис. 11 и 13, — отрендеренные с использованием TRUFORM. Как говорится, почувствуйте разницу.

А теперь давайте посмотрим, что эта технология сможет сделать с лицом, изображенным на картинке, помещенной в начале статьи. Причем лицо на обеих картинках (рис. 14, 15) построено на основе основе одной и той же информации.

Стоит заметить, что TRUFORM ни в коей мере не считается исключительным изобретением ATI: она лишь является реализацией включенной в состав Microsoft DirectX 8 и OpenGL технологии N-патчей, позволяющих переходить к качественно новому визуальному миру. С точки зрения программирования, реализация технологии TRUFORM в новой или существующей игре сводится к добавлению одной строчки кода, все остальное выполняется T&L-частью чипа ATI. Так как информация о персонажах и сцене не зависит от факта использования TRUFORM, отпадает необходимость в создании новых персонажей или сцен. В общем, технология TRUFORM выглядит довольно привлекательно.

После появления использующих ее карт на рынке можно ожидать и роста интереса к аппаратным решениям на базе нового поколения чипов, что в свою очередь приведет к увеличению спроса на игры, поддерживающие TRUFORM. Если мои прогнозы оправдаются, то негласной монополистке nVidia придется не сладко, учитывая что сегмент рынка недорогих и средних решений начинает атаковать Hercules со своим Kyro, а hi-end-решения могут перейти под крыло ATI.

Увы, несмотря на все достоинства TRUFORM, в ней, как и у Windows, есть дыры и недоработки :-). Во-первых — каким образом данная технология будет применяться в существующих играх? Одни считают, что пользователь должен сам определять целесообразность использования TRUFORM, другие полагают, что эту возможность надо оставить на усмотрение разработчика. Если все пойдет так, как мы думаем, следующее поколение карт ATI предоставит в драйверах возможность как включения TRUFORM, так и определения уровня тесселяции, то есть числа частей, на которые разбивается треугольник. Конечно, существует проблема, что использование TRUFORM на некоторых нежелательных полигонах может привести к появлению визуальных аномалий. Соответственно, если дать необходимые инструменты разработчику, то он может подкорректировать уровень данной технологии для необходимых объектов. В то же время возможность изменять настройки со стороны пользователя доставит увлеченным особам немного удовольствия, тем более, если визуальные проблемы будут редко встречаться.

Во-вторых, по поводу чрезмерного «обмыливания» поверхностей ATI заявила, что они нашли способ избавиться от некоторых неприятностей, потенциально возникающих при использовании N-патчей. Так как края объектов сильно сглаживаются, то могли возникать дефекты там, где требуется максимальная четкость, например, на оружии персонажа или каких-то мелких угловатых объектах. Для предотвращения подобного дефекта N-патчи не будут использоваться при стыковке плоскостей под углом 90 градусов, когда границы должны быть максимально четкими. Хотя одними прямыми углами, по-моему, не обойдется.

Итак, технология ATI TRUFORM несет потенциал улучшения качества изображения в будущих и уже существующих играх без ущерба производительности. Похоже на чудо? Но оно того стоит. Однако перед выпуском TRUFORM должны произойти еще некоторые события. Во-первых, ATI необходимо будет обеспечить поддержку разработчиков. Если просто указать, что такая функция поддерживается DirectX 8 и OpenGL, этого окажется мало, так как тогда никто не станет программировать с учетом использования TRUFORM, и ее преимущества окажутся довольно ограничеными. Конечно, технология будет хорошо смотреться во всех играх, но особенно приятно увидеть игру, разрабатывающуюся исключительно с опорой на нее. Хочется верить, что разработчики поддержат ATI в своем начинании, тем более что это будет выгодно и им.

Будем надеяться, что уже в ближайшем будущем можно будет найти видеокарты на чипах ATI с TRUFORM на прилавках магазинов, и что они действительно оправдают возлагаемые на них надежды.

дата публикации: 05.06.02

Купить iphone 5s в ростове в М.Тайм | Купить iphone 5c в ростове-на-дону в М.Тайм
© Copyright Design Maximum