- •Стандарты
- •Появление, популярность и упадок
- •Примеры анимаций, выполненных в vrml
- •Особенности
- •Свойства:
- •Архитектура
- •Отказ от разработки
- •О текстурах
- •Текстурные самплеры
- •Режимы адресации
- •Фильтр сжатия
- •Mipmap фильтр
- •Фильтр растяжения
- •Режим border
- •Анизотропная фильтрация
- •Примеры
- •Стандартизация
- •Особенности x3d
- •Возможности x3d
- •Применения
- •Примеры Основные 1 Карандаш
- •Базовый 2 Светофор
- •Основные 3 Паровоза
- •Основные 4 Игрушечный поезд
Фильтр сжатия
Фильтер сжатия (minFilter) определяет как накладывать текстуру, если поверхность содержит меньше пикселей чем текстура(то есть текстуру нужно сжать или обрезать чтобы наложить). Этот параметр принимает следующие значения minFilter:
Значение |
Описание |
POINT |
Использовать ближайший пиксель |
LINEAR |
Выполнение линейной интерполяции между соседними пикселями и использование получившегося результата. |
ANISOTROPIC |
Растягивание текстуры в соответствии с ориентацией экранного пространства. (может быть не пропорциональна в различных направлениях). Рассмотрена подробнее ниже. |
Если значение minFilter установлено как POINT или LINEAR, a mipmap фильтр (mipFilter) может быть применен для контроля интерполяции значений атрибутов текстур. Если mipFilter установлен в NONE, он игнорируется.
Mipmap фильтр
Создание уменьшенных версий текстуры более сложная задача, нежели их увеличение. Необходимо учитывать многие детали, например, избегать резких перепадов цвета изображения из-за вырезанных пикселей. Mipmapping представляет собой процесс создания уменьшенных текстур, для замены ими полноразмерных. Обычно в начале берется оригинальная полноразмерная текстура, затем создается новая в половину от размера первой, и этот процесс уменьшения вдвое продолжается пока текстура не станет нужного размера или уменьшится до одного пикселя. Когда необходимо использовать фильтр сжатия, уровень mipmap определяется следующими значениями mipFilter:
Значение |
Описание |
NONE |
Не использовать mipmap |
POINT |
Использовать уровень mipmap, который ближе всех подходит к размеру отображаемого треугольника. Внутри уровня, фильтр назначается согласно значению minFilter. |
LINEAR |
Запуск двух уровней mipmap, наиболее близких по размеру к размеру отображаемого треугольника. На каждом уровне используется фильтрminFilter. Затем значения этих уровней интерполируются для окончательного получения цвета. |
Фильтр растяжения
Фильтр magnification (magFilter) определяет как накладывать текстуру на поверхность, содержащую больше пикселей чем текстура.(то есть текстуру нужно растягивать до нужных размеров). Качество текстуры при растяжении страдает, она получается размытой. Значения параметра magFilter:
Значение |
Описание |
POINT |
Использовать ближайший пиксель. |
LINEAR |
Выполнение линейной интерполяции между соседними пикселями и использование результата. |
Режим border
Когда режим адресации установлен в BORDER, цвет borderColor используется для всех пикселей выходящих за рамки диапазона от 0.0 до 1.0 текстурных координат. Верхняя правая текстура в примере использует этот метод с красным цветом.
Анизотропная фильтрация
Когда значение minFilter установлено в ANISOTROPIC, параметр maxAnisotropyопределяет угол анизотропии. Анизотропная фильтрация учитывает расстояние от пикселя текстуры до точки наблюдения, а также угол, на котором текстура в настоящее время рассматривается.