Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Mip-mapping (пирамидальное фильтрование)
Если посмотреть на текстурированную поверхность, находящуюся на большом расстоянии, то вместо рисунка текстуры мы увидим фактически случайный набор точек. Это связано с тем, что одному пикселя экрана соответствует сразу несколько пикселей текстуры, поэтому для корректного отображения данного пикселя его цвет должен быть усреднением цветов этих пикселов (вместо этого выбирается практически случайным образом один из этих пикселей текстуры). Ясно, что нереально проводить точное усреднение пикселей в реальном времени практически - это потребовало бы слишком больших затрат. Однако, существует простой метод, позволяющий бороться с подобными ошибками сравнительно легко.
Это – mip-mapping. Акроним MIP происходит от латинского " multum in parvo", означающего " множество в малом" или " много вещей на одном пятачке".
Пусть исходное изображение имеет размер 2n на 2n. Построим по нему последовательность изображений, являющихся копиями данного и имеющими размеры 2n-1, 2n-2 и т. д. Размер последнего изображения будет 1 на 1 пиксель. В результате получим «пирамиду» (mip-map), состоящую из (n+1) уровня, где на нижнем (0-м) уровне находится исходное изображение. Вся пирамида занимает объем памяти, необходимый для размещения 22n-1 пикселей.
Доступ к пирамиде осуществляется с помощью трех координат: u, v, d, где u и v – координаты текстуры, а d (compression) – мера компрессии текстуры, и может быть рассмотрена как вертикальная координата пирамиды.
Изображение к-того уровня строится из изображения (к-1)-ого уровня может строится различными способами:
· просто «выкидывание» каких либо пикселей (четных или нечетных); · линейной интерполяцией (2 пиксела); · билинейной интерполяцией цветов соответствующих 4-ех пикселов изображения предшествующего уровня;
Степень или уровень детализации - Level of Detail или просто LOD, используются для определения, какой mip-map уровень (или какую степень детализации) следует выбрать для наложения текстуры на объект. LOD должен соответствовать числу текселей накладываемых на пиксель (т.е. какое количество элементов текстуры должно быть наложено на элемент выводимого на экран изображения). Например, если текстурирование происходит с соотношением близким к 1: 1, то LOD будет 0, а значит и будет использоваться mip-map уровень с самым высоким разрешением. Если 4 текселя накладываются на один пиксель, то LOD будет 1 и будет использоваться следующий mip-уровень с меньшим разрешением. Обычно, при удалении от точки наблюдения, объект имеет более высокое значение LOD. 52. Фильтрация текстур: билинейная, трилинейная и анизотропная. Попиксельное MIP-текстурирование с билинейной фильтрацией (Bilinear filtered per-pixel MIP-mapping)
Билинейная фильтрация призвана обеспечить дальнейшее уменьшение искажений типа aliasing на экране, путем усреднения значений четырех соприкасающихся пикселей текстуры, U и V координаты которых наиболее соответствуют реальному пикселю на экране. Билинейная интерполяция (аппроксимация) реализуется тремя линейными интерполяциями. Вычисление корректного LOD для текстуры производится аналогично тому, что производится в случае точечной выборки.
V5=V1*(1-Ex) +V4*Ex V6=V2*(1-Ex) +V3*Ex Ex, EyÎ {0: 1} V = V5*(1-Ey) +V6*Ey
Два соприкасающихся полигона могут быть отвизуализированы с применением разных уровней детализации. Визуально это проявляется в виде потери неразрывности восприятия нанесенной на объект текстуры (такие искажения носят название MIP banding).
Трилинейная фильтрация
Трилинейная фильтрация (trilinear filtering) представляет собой технику, которая удаляет артефакты " mip-banding", возникающие при использовании mip-текстурирования. При трилинейной фильтрации для определения цвета пикселя берется среднее значение цвета восьми текселей, по четыре из двух соседних текстур и в результате семи операций смешивания определяется цвет пикселя. При использовании трилинейной фильтрации возможен вывод на экран текстурированного объекта с плавно выполненными переходами от одного mip-уровня к следующему, что достигается за счет определения LOD путем интерполяции двух соседних mip-map уровней
Anisotropic filtering
Впрочем, существует целый класс артефактов визуализации, появляющихся в результате наложения текстур и известный под названием " depth aliasing" (депт-алиасинг, ошибки определения глубины сцены, другое название Z-aliasing), от которых билинейная фильтрация не избавляет и не может избавить.
Ошибки " depth aliasing" возникают в результате того факта, что объекты более отдаленные от точки наблюдения, выглядят более маленькими на экране. Если объект двигается и удаляется от точки наблюдения, текстурное изображение, наложенное на уменьшившийся в размерах объект становится все более и более сжатым. В конечном счете, текстурное изображение, наложенное на объект, становится настолько сжатым, что появляются ошибки визуализации. Эти ошибки визуализации особенно нежелательны в анимации, где такие артефакты во время движения становятся причиной мерцания и эффекта медленного движения в той части изображения, которая должна быть неподвижной и стабильной.
Для решения этой проблемы вы должны делать выборку из большего количества текселей, составляющих текстуру, и выбирать эти тексели следует принимая во внимание " отображенную" форму пикселя в текстурном пространстве. Эта техника называется " anisotropic filtering" (анизотропная фильтрация). Обычное mip-текстурирование называется " isotropic" (изотропное или однородное), потому что мы всегда фильтруем вместе квадратные области, состоящие из текселей. Анизотропная фильтрация означает, что форма области из текселей, которую мы используем меняется в зависимости от обстоятельств. Anisotropic: " an" = not (не); " iso" = uniform (постоянная); " tropic" = shape (форма).
Визуализация с применением анизотропной фильтрации обеспечивает лучшее качество изображения, за счет лучшей глубины детализации и более точного представления текстур, наложенных на полигоны, которые расположены не параллельно экрану или точке наблюдения. 53. Цвет в КГ. Ахроматический цвет. Интенсивность. Цвет — это ощущение, которое возникает в сознании человека при воздействии на его зрительный аппарат электромагнитного излучения с длиной волны в диапазоне от 380 до 760 нм. Эти ощущения могут быть вызваны и другими причинами: болезнь, удар, мысленная ассоциация, галлюцинации, и др.
Цвет предмета зависит от физических свойств самого предмета, источника света, которым он освещен, от системы человеческого видения (например, если смотреть на зеленую лампу через красное стекло – видим черное). Более того, одни предметы отражают или поглощают свет (стена, доска, бумага), а другие его пропускают (стекло). Популярное: |
Последнее изменение этой страницы: 2017-03-03; Просмотров: 1009; Нарушение авторского права страницы