Фильтрация анизотропная представляет собой один из таких элементов развития современной графики, который заставляет многих пользователей рассуждать на тему того, насколько сегодня стали доступными различные технологии улучшения изображения для пользователей.
Ведь не стоит скрывать того, что именно геймерам сегодня столько важна максимально качественная трехмерная графика, и именно они на сегодняшний день представляют собой практически единственных потребителей всевозможных новых технологий в области видеокарт. Ведь высокомощный акселератор на данный момент может потребоваться только в том случае, если нужно запустить какую-нибудь игру последнего поколения, в которой присутствует действительно требовательный движок, оперирующий сложнейшими шейдерами различных версий.
Какими бывают карты?
Делать какой-то сверхразвитый движок в наше время – это достаточно серьезная трата средств. И при этом весомый риск. Такими приемами пользуются только высокобюджетные проекты с масштабной рекламой, которые заранее, еще до выхода, уверены в том, что игру будут активно сметать с прилавков. Также следует отметить тот факт, что в последнее время особенное внимание уделяется «политике» касательно современных игровых движков, ведь в сфере игростроя давным-давно присутствует политика, которая предпочитает учитывать интересы двух передовых компаний в области графических процессоров – это NVIDIA и ATI.
Компании достаточно давно соперничают между собой, и на самом деле нет никаких перспектив того, что в ближайшем будущем это противостояние сможет закончиться, однако потребителям это только на руку. Теперь уже мало просто разработать действительно качественный движок, нужно еще и заручиться поддержкой одного из производителей, которые даже создали собственные партнерские программы для игроделов.
А графика все растет и растет…
Сделать абсолютную революцию в сфере графических 3D-движков достаточно сложно, вследствие чего такие перевороты происходят относительно редко. Однако при этом, конечно же, качество изображения периодически улучшается с течением времени и, как ни странно, происходит это как раз под выход какой-то определенной «продающейся» игры наподобие Crysis.
Именно на основе анизотропной фильтрации, а также так называемого антиалиасинга, осуществляется на сегодняшний день выпуск огромнейшего количества различных драйверов видеокарт каждого производителя, при этом каждая компания использует собственный подход и политику касательно данной оптимизации, которая достаточно часто оказывается справедливой далеко не для всех пользователей.
Что такое анизотропная фильтрация?
Фильтрация анизотропная – это специализированный способ улучшения текстур на поверхностях, которые находятся под определенным углом относительно камеры. Точно так же, как трилинейная или же билинейная, анизотропная позволяет полностью устранить алиасинг на разных поверхностях, но при этом вносит минимум размытия, благодаря чему сохраняется предельная детальность изображения.
Стоит отметить тот факт, что анизотропная фильтрация в играх реализуется посредством сложного вычисления, поэтому обеспечение относительно небольшой «прожорливости» данной настройки в играх стало наблюдаться только с 2004 года.
Для того чтобы понять, что представляет собой фильтрация анизотропная, нужно иметь определенные базовые знания в данной области. Конечно, сегодня каждый пользователь прекрасно понимает, что изображение на экране составляется из огромнейшего количества различных пикселей, количество которых непосредственно зависит от разрешения. Для того чтобы вывести изображение на экран, видеокартой должен быть обработан цвет каждого пикселя.
Принцип действия
Выбирается определенная текстура, которая соответствует разрешению, находящемуся поперек направления обзора. После этого берется несколько текселей, находящихся вдоль направления обзора, после чего осуществляется усреднение их цветов.
Так как на экране может находиться более одного миллиона пикселей, а каждый тексель при этом составляет не менее 32 бит, анизотропная фильтрация в играх требует невероятно большой пропускной способности видеокарты, которую не обеспечивают многие даже самые современные устройства. Именно по этой причине такие большие требования к памяти уменьшаются за счет использования кэширования, а также специализированных технологий сжатия текстур.
Как это работает?
Определение цвета пикселей осуществляется путем наложения на полигоны текстурных изображений, состоящих из пикселей двухмерного изображения – текселей, которые накладываются на 3D-поверхность. Главная дилемма в данном случае заключается в том, какие именно тексели будут определять цвет пикселя на экране. Для того чтобы более глубоко понять особенность, которой отличается фильтрация анизотропная, нужно представить, что ваш экран – это большая плита, на которой находится огромнейшее количество разнообразных отверстий, каждое из которых представляет собой пиксель.
Чтобы определить цвет пикселя на какой-либо трехмерной сцене, которая находится за данной плитой, вполне достаточно просто посмотреть в соответствующее отверстие. Теперь представим, что луч света проходит через него, после чего попадает на наш полигон, и если он будет располагаться параллельно касательно места своего входа, то в таком случае получится круглое световое пятно. Если же нет, то пятно будет несколько искаженным, т. е. будет иметь уже форму эллипса. Именно полигоны, которые располагаются в световом пятне, и будут определять цвет каждого конкретного пикселя.
Зачем она нужна?
Многие считают, что анизотропная фильтрация используется исключительно для того, чтобы обеспечить более качественное изображение, однако на самом деле это просто конечный результат, который обеспечивается далеко не только за счет самой фильтрации.
При формировании образа определенной текстуры программистами задается два уровня фильтрации текстур, которые представляют собой фильтры минимальной и предельной дистанции, определяющие то, какая конкретно функция фильтрации будет использоваться в процессе формирования образа текстуры в том случае, если камера будет отдаляться или же приближаться к нему.
К примеру, можно рассмотреть, когда анизотропная или трилинейная фильтрация используется при сближении, то есть когда каждый тексель начинает иметь большие габариты, и уже покрывает одновременно несколько пикселей. Для того чтобы убрать в данной ситуации ступенчатость, и будет использована фильтрация. При этом нужно отметить, что в такой ситуации данное решение является далеко не оптимальным, так как фильтрация (анизотропная или трилинейная) немного смазывает изображение. Для того чтобы придать более реалистичный вид картинке, потребуется увеличение разрешения самой текстуры.
Что лучше выбрать?
Конечно, у любого пользователя и простого геймера возникает вполне логичный вопрос. Сегодня есть трилинейная и анизотропная фильтрация – какая лучше? На самом деле лучше, конечно же, именно анизотропная технология. Все дело в том, что трилинейная фильтрация не очень правильно рассчитывает цвет каждого отдельного текселя, а если говорить более точно, то вовсе неправильно его рассчитывает, если речь идет о наклонных плоскостях. Применение анизотропной технологии позволяет дополнить использующиеся на данный момент режимы фильтрации, регулируя угол. При этом чем большим будет угол, тем более высоким будут реалистичность и качество, которые способна обеспечить анизотропная фильтрация текстур. Однако в то же время нужно понимать, что потребуется и большее количество мощности карты на обработку данных.
Насколько это помогает?
Вам не следует ожидать того, что в конечном итоге после включения данной функции трехмерная графика сказочно улучшится, скорее на больших углах даже будет получена определенная смазанность, однако в общем результате вы получите более реалистичную картинку. В связи с этим каждый для себя самостоятельно решает, стоит ли ему использовать эту функцию и насколько она будет для него продуктивной.
Так как очень сильного улучшения качества картинки данная функция не обеспечивает, те люди, которые стараются обеспечить максимальную производительность игры на не самых сильных компьютерах, ищут, как отключить анизотропную фильтрацию. Требовательность данной функции является немного несоизмеримой по сравнению с тем, какой результат она обеспечивает, поэтому стоит задуматься о том, чтобы отключить ее в первую очередь.
Point Sampling
Point Sampling на сегодняшний день представляет собой наиболее простой вариант того, как определяется цвет пикселя. Данный алгоритм основывается на текстурном изображении, когда выбирается какой-нибудь единственный тексель, расположенный максимально близко к центру светового пятна. Несложно догадаться, что такой вариант является далеко не самым оптимальным, так как цвет пикселя должен определяться одновременно несколькими текселями, а выбирается в данном случае только один, при этом световое пятно может изменять свою форму, что алгоритм не принимает во внимание.
Главным недостатком, которым отличается такая фильтрация анизотропная, является то, что при достаточно близком расположении к экрану количество пикселей будет значительно увеличиваться по сравнению с количеством текселей, вследствие чего изображение становится далеко не таким интересным. Так называемый эффект блочности многие часто наблюдают в "древних" компьютерных играх.