Общие подходы на практике

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

Очевидно, что метод 4XS обеспечивает более качественное и полное сглаживание, чем режим 4x. Кроме краев полигонов он честно сглаживает по двум сэмплам все текстуры. А самое приятное заключается в том, что этот режим работает с той же скоростью, что и обычный 4x.

3dfx Voodoo 5.

До сих пор мы рассматривали методы сглаживания, в которых сэмплы располагаются упорядоченно, в виде прямой упорядоченной решетки, подобных клеточной бумаге. Недостаток подобной техники в том, что при сравнительно небольшом количестве сэмплов (от четырех до девяти на пиксель), которые используются в современных ускорителях для формирования пикселя, очень плохо сглаживаются линии (границы полигонов), близкие к вертикальным или близкие к горизонтальным, т.е. угол наклона которых относительно прямых составляет всего 10-15 градусов. Это связано с тем, что такой "почти вертикальный" или "почти горизонтальный" край треугольника в половине случаев проходит между двумя пикселями и потому, сглаживание никак его не затрагивает:

Решить эту проблему можно двумя способами:

Все больше увеличивать количество сэмплов, на основании которых формируется пиксель. Этот способ снижает вероятность того, что край полигона пройдет между двумя пикселями. Это катастрофически скажется на производительности и, к тому же, не решит проблему на 100%.

Изменить расположение сэмплов, то есть исказить обычную прямую решетку.

В идеале, второй способ подразумевает случайное расположение сэмплов внутри пикселя (на максимальном удалении друг от друга). Но такой вариант трудно реализуем: сама по себе

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

Фирма 3dfx предложила метод сглаживания, просто поворачивающий эту решетку на 20-30 градусов.

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

Рассмотрим метод 3dfx. Он называется Rotated Grid Super Sampling (в дальнейшем RGSS). Основывается на технологии 3dfx T-Buffer, позволяющей рассчитать сразу четыре разных кадра, а потом их смешивать для получения широкого набора эффектов. Нас сейчас интересует только один из этих эффектов - полноэкранное сглаживание.

Ускоритель Voodoo5 - первый и единственный, поддерживающий технологию T-Buffer, а значит и RGSS. Карта снабжена двумя чипами VSA-100, каждый из которых может рассчитать и хранить один или два кадра. В результате, мы имеем два режима анти-алиасинга: 4x и 2x.

Анти-алиасинг 4х.

В отличие от обычного суперсэмплинга, RGSS рассчитывает не одно изображение в повышенном разрешении, а четыре одинаковых изображения в установленном на экране разрешении. На самом деле, эти четыре рассчитываемых изображения не совсем одинаковы. Поскольку результирующий пиксель по-прежнему состоит из четырех субпикселов, нужно определить их положение внутри пикселя. Как мы уже говорили, метод 3dfx предполагает, что все сэмплы внутри пикселя повернуты на 20-30 градусов:

Финальный пиксель формируется путем смешивания цветов соответствующих

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

Перейти на страницу: 1 2 3 4

Другие публикации

Линейная решётка рупорных антенн
Антенно-фидерное устройство, обеспечивающее излучение и прием радиоволн, - неотъемлемая часть любой радиотехнической системы. Требования к техническим характеристикам ...

Основные свойства и методы расчета линейных цепей постоянного тока
Электротехника - это наука о техническом (т.е. прикладном) использовании электрических и магнитных явлений. Большое значение электротехники заключается в том, что ...

Меню

Copyright @2020, TECHsectors.ru.