12.2.1 Технологии повышения реалистичности трехмерного изображения
Для повышения реалистичности отображения наложенных на полигоны текстур используются самые различные технологии: сглаживания (Anti-Aliasing), MIP mapping, текстурной фильтрации и т. д.
Технология сглаживания (Anti-Aliasing)
Anti-Aliasing – это технология устранения эффекта ступенчатых краев (Aliasing). Изображение на экране состоит из множества мелких точек – пикселей, которые, как маленькие кирпичики, формируют любое изображение. Однако из-за того, что пиксели имеют конечный размер, на краях трехмерных объектов можно различить так называемую лестницу, или ступенчатые края. Чтобы минимизировать эффект лестницы, проще всего увеличить разрешение экрана (уменьшив тем самым минимальный размер формируемых пикселей). Правда, такой способ минимизации паразитного эффекта подходит не всегда, поскольку это зависит от конкретного монитора, а если речь идет об игре – то и от возможности игры переключаться на более высокое разрешение. Если избавиться от ступенчатого эффекта за счет повышения разрешения монитора нельзя, можно использовать технологию Anti-Aliasing, которая позволяет визуально сгладить эффект лестницы. Наиболее часто используемая для этого техника — это создание плавного перехода от цвета линии или края к цвету фона. Цвет точки, лежащей на границе объектов, определяется как среднее значение цветов двух граничных точек.
Существует несколько базовых технологий Anti-Aliasing. Первоначально технологии сглаживания применялись лишь к отдельным объектам, однако с повышением производительности графических процессоров получила широкое распространение технология полноэкранного сглаживания, или FSAA (Full Screen Anti-Aliasing).
Суть данной технологии заключается в том, что графический процессор рассчитывает изображение в гораздо большем разрешении, чем разрешение экрана, а затем сжимает его до установленного значения. Например, при разрешении экрана 800600 и установке режима FSAA 22 изображение будет рассчитываться в разрешении 16001200, а затем сжиматься до 800600 и выводиться на экран.
При сжатии полученное изображение уменьшается на строго установленное количество пикселей, при этом в соответствии с используемым алгоритмом окончательные цвета сглаженных пикселей рассчитываются по значениям нескольких соседних пикселей. В результате у всех линий появляются плавные цветовые границы переходов, что визуально устраняет эффект лестницы.
Технология MIP mapping
Одна из самых распространенных технологий, используемых для улучшения качества текстурирования трехмерных объектов, называется MIP mapping.
Дело в том, что для придания реалистичности трехмерному изображению необходимо учитывать глубину сцены. По мере удаления от точки наблюдения накладываемая текстура должна выглядеть все более размыто. Поэтому при текстурировании даже однородной поверхности чаще всего используется не одна и даже не две текстуры, что позволяет корректно учитывать перспективные искажения трехмерного объекта. Представим себе, что нам необходимо изобразить брусчатую мостовую, уходящую вглубь сцены. Если мы попытаемся использовать для этого всего одну текстуру по всей длине, то по мере удаления от точки наблюдения (на заднем плане) может проявиться рябь или просто один сплошной цвет. Дело в том, что в этой ситуации сразу несколько пикселей текстуры (текселей) попадает в один пиксель на мониторе. Возникает вопрос: в пользу какого одного текселя сделать выбор при отображении пикселя?
Для решения подобных проблем используется технология MIP mapping, которая подразумевает возможность использования набора текстур с различной степенью детализации. То есть на базе каждой текстуры создается целый набор текстур с меньшими уровнями детализации. Текстуры такого набора называются MIP-картами (MIP map).
В простейшем случае наложения текстуры для каждого пикселя изображения определяется соответствующая ему MIP-карта согласно таблице детализации (Level Of Detail, LOD). Далее из MIP-карты выбирается только один тексель (пиксель карты), который присваивается пикселю.
Технологии фильтрации
Как правило, технология MIP mapping используется в сочетании с технологиями фильтрации, призванными исправить артефакты MIP-текстурирования. Например, при удалении объекта все дальше от точки наблюдения происходит переход от низкого MIP map уровня к высокому MIP map уровню. В момент нахождения объекта в переходном состоянии от одного MIP map-уровня к другому появляется особый тип ошибок визуализации – явно различимые границы перехода от одного MIP map-уровня к другому.
Смысл фильтрации состоит в том, что цвет пикселей объекта рассчитывается по соседним точкам текстуры (текселям). Существует несколько типов фильтрации, поддерживаемых видеокартами.
Билинейная. При медленном вращении или движении объекта могут быть заметны перескакивания пикселей с одного места на другое, что и вызывает мерцание. Для снижения этого эффекта при билинейной фильтрации для отображения точки поверхности берется взвешенное среднее значение четырех смежных текстурных пикселей.
Трилинейная. Также призвана удалять артефакты, возникающие при использовании MIP-текстурирования. При трилинейной фильтрации для определения цвета пикселя берётся среднее значение цвета восьми текселей, по четыре из двух соседних текстур, и в результате семи операций смешивания определяется цвет пикселя. При использовании трилинейной фильтрации возможен вывод на экран текстурированного объекта с плавно выполненными переходами от одного MIP-уровня к следующему. Таким образом, решается большинство проблем, связанных с MIP-текстурированием и ошибками из-за неправильного расчета глубины сцены (depth aliasing).
Анизотропная. Самая прогрессивная на сегодняшний день технология фильтрации, при использовании которой один единственный пиксель может рассчитываться по 8-32 текселям. Для сравнения, в простейшем варианте фильтрации, билинейной, для расчета цвета пикселя используется всего четыре ближайших текселя.
- Предисловие
- Глава 1. Общие сведения о микропроцессорах
- 1.1 Классификация микропроцессоров
- 1.2 Характеристики микропроцессоров
- 1.2.1 Тактовая частота
- 1.2.2 Архитектура процессора
- 1.2.3 Технологический процесс производства
- 1.2.4 Частота системной шины
- 1.2.5 Размер кэша
- 1.3 Типы архитектур микропроцессоров
- 1.4 Структурная схема микропроцессоров
- 1.4.1 Микропроцессор Фон-Неймана
- 1.4.2 Конвейер
- 1.4.3 Зависимость между частотой и количеством ступеней конвейера
- 1.5 Представление информации в эвм
- 1.5.1 Двоичное представление целых чисел
- 1.5.2 Представление символьной информации
- Глава 2. Архитектура микропроцессоров ia-32
- 2.1 Состав и функции регистров
- 2.1.1 Основные регистры
- 2.1.2 Регистры дополнительных функциональных модулей
- 2.2 Типы адресации
- 2.3 Система команд
- 2.3.1 Классификация команд
- 2.3.2 Формат команды
- 2.3.3 Однобайтовые команды
- 2.3.4 Непосредственно заданные операнды
- 2.3.5 Команды с регистровыми операндами
- 2.3.7 Команды с операндами, расположенными в памяти
- Глава 3. Организация многоуровневой памяти
- 3.1 Принцип построения многоуровневой памяти
- 3.2 Организация кэш-памяти
- 3.3 Протоколы когерентности памяти микропроцессоров
- 3.4 Страничная организация памяти
- Глава 4. Режимы работы процессоров ia-32
- 4.1 Обзор режимов работы
- 4.2 Реальный режим адресации
- 4.3 Защищённый режим
- 4.3.1 Дескрипторные таблицы
- 4.3.2 Дескрипторные регистры
- 4.3.3 Дескриптор
- 4.3.4 Односегментная модель памяти
- 4.3.5 Многосегментная модель памяти
- Глава 5. Страничная организация памяти в процессорах ia‑32
- 5.1 Каталог страниц
- 5.2 Таблица страниц
- 5.3 Страничная переадресация
- 5.4 Диспетчер виртуальных машин системы Microsoft Windows
- Глава 6. Архитектура процессоров с параллелизмом уровня команд
- 6.1 Подходы к использованию ресурса транзисторов в микропроцессорах
- 6.2 Суперскалярные процессоры и процессоры с длинным командным словом
- 6.3 Зависимости между командами, препятствующие их параллельному исполнению
- 6.4 Предварительная выборка команд и предсказание переходов
- 6.5 Условное выполнение команд в vliw-процессорах
- 6.6 Декодирование команд, переименование ресурсов и диспетчеризация
- 6.7 Исполнение команд
- 6.8 Завершение выполнения команды
- 6.9 Направления развития архитектуры процессоров с параллелизмом уровня команд
- Глава 7. Мультитредовые микропроцессоры
- 7.1 Основы мультитредовой архитектуры
- 7.2 Выявление тредов
- 7.3 Мультитредовые процессоры с тредами, выявляемыми путем анализа потоков управления программы
- 7.3.1 Мультитредовая модель выполнения программы
- 7.3.2 Мультитредовые программы
- 7.3.3 Аппаратные средства мультитредовой архитектуры
- 7.3.4 Преимущества мультитредовой архитектуры
- 7.4 Мультитредовые процессоры с тредами, выявляемыми путем анализа потоков данных программы
- 7.5 Специфика мультитредовых моделей распараллеливания
- Глава 8. Модуль обработки вещественных чисел
- 8.1 Представление чисел с плавающей запятой
- 8.2 Состав модуля fpu
- Глава 9. Основы 64-разрядной архитектуры
- 9.1 Состав и назначение регистров микропроцессора ia-64
- 9.2 Особенности архитектуры epic
- 9.3 Архитектура x86-64
- 9.4 Структура одноядерного процессора
- 9.5 Многоядерные процессоры
- 9.6 Зачем нужны “лишние” разряды?
- Глава 10. Современные 64-разрядные микропроцессоры корпораций Intel и amd
- 10.1 Архитектура Intel Core 2
- 10.1.1 Intel Wide Dynamic Execution
- 10.1.2 Intel Intelligent Power Capability
- 10.1.3 Intel Advanced Smart Cache
- 10.1.4 Intel Smart Memory Access
- 10.1.5 Intel Advanced Digital Media Boost
- 10.1.6 Логическая схема процессора
- 10.2 Архитектура Intel Core i7
- 10.2.1 Технология Hyper-Threading в архитектуре Nehalem
- 10.2.2 Иерархия кэш-памяти в архитектуре Nehalem
- 10.3 Хронология развития семейств микропроцессоров с архитектурой Nehalem
- 10.4 Архитектура amd Athlon 64
- 10.4.1 Ядро процессора
- 10.4.3 Контроллер памяти
- 10.4.4 Контроллер HyperTransport
- 10.5 Архитектура amd k10
- 10.4.1 Технология amd Memory Optimizer Technology
- 10.5.2 Ядро процессора
- 10.5.3 Предвыборка данных и инструкций
- 10.5.4 Выборка из кэша
- 10.5.5 Предсказание переходов и ветвлений
- 10.5.6 Процесс декодирования
- 10.5.7 Диспетчеризация и переупорядочение микроопераций
- 10.5.8 Выполнение микроопераций
- 10.5.9 Технологии энергосбережения
- 10.5.10 Шина HyperTransport 3.0
- 10.5.11 Семейство процессоров Barcelona
- 10.5.12 Семейство процессоров Phenom
- Глава 11. Технологии, поддерживаемые современными микропроцессорами
- 11.1 Технологии тепловой защиты
- 11.1.1 Технология Thermal Monitor
- 11.1.2 Технология Thermal Monitor 2
- 11.1.3 Режим аварийного отключения
- 11.2 Технологии энергосбережения
- 11.2.1 Технология Enhanced Intel SpeedStep
- 11.2.2 Технология Cool'n'Quiet
- 11.3 Технология расширенной памяти
- 11.4 Технология антивирусной защиты
- 11.5 Технология виртуализации
- 11.6 Реализация технологий в современных микроархитектурах
- 11.6.2 Em64t – NetBurst
- 11.6.3 Intel Core
- 11.6.4 Intel Atom
- 11.6.5 Nehalem
- 11.6.6 Xeon
- Глава 12. Графические микропроцессоры
- 12.1 Основные термины и определения
- 12.2 Технологии построения трёхмерного изображения
- 12.2.1 Технологии повышения реалистичности трехмерного изображения
- 12.3 Шейдерный процессор
- 12.4 Особенности современных графических процессоров
- Глава 13. Однокристальные микроконтроллеры
- 13.1 Общая характеристика микроконтроллеров
- 13.2 Микроконтроллеры семейства avr
- Почему именно avr?
- 13.3 Общие сведения об омк avr
- 13.4 Характеристики avr-микроконтроллеров
- Глава 14. Технология производства микропроцессоров
- 14.1 Особенности производства процессоров
- 14.2 Новые технологические решения
- 14.3 Технология производства сверхбольших интегральных схем
- I. Выращивание кристалла кремния
- II. Создание проводящих областей
- III. Тестирование
- IV. Изготовление корпуса
- V. Доставка
- 14.4 Перспективы производства сбис
- Англо-русский словарь терминов и аббревиатур
- Библиографический список
- Интернет-ссылки
- 350072. Краснодар, ул. Московская, 2, кор. А.