Читать «Журнал «Компьютерра» №30 от 23 августа 2005 года» онлайн - страница 49

Компьютерра

Зато можем уверенно сказать, что благодаря низкому тепловыделению, небольшому шуму, а главное, цене (в Москве — порядка $580!!!) GeForce 7800GTX — очевидный хит сезона. Редчайший случай — придраться здесь действительно не к чему.

Прозрачный антиалиасинг

Антиалиасинг — это способ повышения качества выстраиваемого 3D-ускорителем изображения, позволяющий избавиться от эффекта ступенчатости границ полигонов. Дело в том, что если для «внутренних» пикселов цвет каждого из них обычно вычисляется с учетом нескольких субпикселов соответствующей текстуры, натянутой на полигон (анизотропная, трилинейная или билинейная фильтрация) и дающей плавную и более или менее точную и резкую картинку (чем выше степень анизотропной фильтрации, тем выше точность и резкость изображения), то без использования антиалиасинга каждый пиксел в картинке может «принадлежать» одному и только одному полигону, хотя в действительности часть пиксела относится к одному полигону, а часть — к другому, и его цвет должен определяться как некоторая смесь цветов обоих полигонов. В итоге каждое ребро полигона рисуется как характерная, резко очерченная ступенчатая (а зачастую и вовсе прерывистая, если рисуется, скажем, тонкий полигон, изображающий в сцене далеко расположенные провод, кабель или веревку) линия. Если вы еще не сталкивались ни с чем подобным, сравните, как рисуют линии MS Paint и Adobe Photoshop, — и вы поймете, что я имею в виду. Эта ступенчатость и есть алиасинг; а методы борьбы с нею соответственно называются антиалиасингом.

На сегодняшний день существуют два способа полноэкранного сглаживания — суперсэмплинг (SuperSampling AntiAliasing, SSAA) и мультисэмплинг (MultiSampling AntiAliasing, MSAA). В первом случае для того, чтобы на картинке, которую генерирует ускоритель, не было резких цветовых переходов между полигонами, картинка, грубо говоря, вначале рендерится с размерами, в несколько раз превышающими необходимые для вывода на экран, а затем приводится к требующемуся размеру. При этом для определения цвета каждого «итогового» пиксела вычисляется цвет нескольких составляющих его «субпикселов», и картинка получается более реалистичной, а главное — лишенной бросающихся в глаза ступенчатых линий. Однако SSAA — довольно жадный до ресурсов метод, поэтому куда чаще используется MSAA, при котором сглаживаются только те пикселы, которые находятся в непосредственной близости от граней полигонов, присутствующих в сцене. Если мы рисуем на экране, скажем, кубик, то в «подробном» варианте будут рассчитаны только несколько процентов пикселов, составляющих ближайшие окрестности ребер кубика. Поскольку именно здесь, как правило, и встречаются требующие сглаживания ступеньки, то производительность при таком способе рендеринга падает несильно, и качество картинки получается высоким.