Обзор GAMES101 – Растеризация
определение
Растеризация — это процесс преобразования векторной графики в растровые изображения. В ходе процесса растеризации компьютер сопоставляет примитивы с позициями пикселей на экране и определяет значение цвета каждого пикселя на основе геометрических свойств примитива (таких как положение, размер, форма и т. д.), модели освещения и другой информации. Таким образом, путем расчета и заполнения каждого пикселя окончательно формируется визуальное изображение.
Преобразование видового экрана
Преобразование видового экрана — это процесс отображения графики в нормализованной системе координат устройства в указанную область на экране. Он включает в себя этапы сопоставления графических координат с системой координат экрана, выполнение операций масштабирования и перемещения и, наконец, преобразование координат в пиксельные координаты. Благодаря преобразованию области просмотра можно добиться точного отображения и управления положением графики на экране.
Масштабирование и панорамирование. В зависимости от размера и положения области просмотра графика, сопоставленная с системой координат экрана, масштабируется и панорамируется, чтобы адаптироваться к размеру и положению области просмотра.
растеризация
Растеризация — это процесс в компьютерной графике преобразования векторной графики в растровые изображения. Он преобразует геометрические фигуры, такие как непрерывные кривые и графические поверхности, в растровые изображения, состоящие из пикселей, для отображения на экране.
Функция растеризации заключается в преобразовании векторной графики в растровые изображения, чтобы графику можно было отображать и обрабатывать на экране компьютера. Посредством растеризации можно реализовать операции графической визуализации, редактирования, преобразования и рендеринга.
Вот растеризация треугольников: разделение графики на серию треугольников, а затем интерполяция внутри каждого треугольника для определения значения цвета каждого пикселя, тем самым генерируя растровое изображение.
Обратите внимание на то, что сначала размытие, а затем выборка, а не сначала выборка, а затем размытие.
Растеризация – важный и сложный процесс в компьютерной графике, его основные моменты и трудности отражаются главным образом в следующих аспектах:
-
Дискретизация геометрических фигур. Основная задача растеризации — преобразование непрерывных геометрических фигур в дискретные пиксельные изображения. Это включает в себя то, как точно представлять и рисовать геометрические фигуры, такие как кривые и поверхности, на уровне пикселей. Например, при растеризации треугольника важным вопросом является определение значения цвета каждого пикселя внутри треугольника.
-
Расчет покрытия пикселей. Во время растеризации необходимо определить, какие пиксели покрыты геометрией и как рассчитать значение цвета каждого пикселя. Сюда входят такие методы, как тестирование покрытия пикселей, тестирование глубины, цветовая интерполяция и т. д., чтобы гарантировать, что полученное растровое изображение максимально соответствует исходной геометрии.
-
Порядок обработки краев и растеризации. Для сложных геометрических фигур, таких как края многоугольников или кривых, порядок обработки краев и растеризации оказывает важное влияние на конечное качество изображения. Например, при растеризации линий сканирования необходимо учитывать такие проблемы, как интерполяция краев, охват пикселей и порядок смешивания.
-
Оптимизация производительности. Растеризация — это трудоемкий процесс, а оптимизация производительности является важным фактором для рендеринга в реальном времени и интерактивных приложений. Как повысить эффективность и скорость растеризации за счет оптимизации алгоритмов, параллельных вычислений и других технологий — сложная задача.
Короче говоря, ключевые моменты и трудности растеризации в компьютерной графике в основном связаны с дискретизацией геометрических фигур, расчетом покрытия пикселей, обработкой краев и порядком растеризации, а также оптимизацией производительности. Решение этих проблем требует глубокого понимания принципов графики и сочетания алгоритмов и методов оптимизации для достижения высококачественного и эффективного процесса растеризации.
Проблема с выборкой
- пилообразный
- муаровый узор
- обратная шина
Причины наложения спектров : Сигнал меняется слишком быстро, а частота дискретизации слишком мала.
Фильтрация и свертка
-
Фильтрация
Фильтрация верхних и нижних частот усиливает или подавляет определенные полосы частот. -
Свертка
Как показано ниже, имеется поле размером 3 * 3. Свертка означает, что для каждого пикселя исходного изображения сложите цвета самого себя и окружающих 8 пикселей, а затем разделите на 9. (Конечно, эта коробочка может иметь разную форму).
Технология сглаживания
-
Размытие
превращает половину оранжевого и половину белого пикселя в оранжевый или белый.Операция размытия фактически превращает его в промежуточный цвет между белым и оранжевым, и степень этого промежуточного цвета определяется на основе соотношения оранжевого и белого в текущем пикселе. . -
MSAA (многовыборочное сглаживание):
MSAA — это технология сглаживания, основанная на множественной выборке, которая уменьшает эффект сглаживания за счет избыточной дискретизации краев изображения.
Преимущество MSAA в том, что он может обеспечить лучшее качество и плавность изображения, но по сравнению с другими технологиями сглаживания требует больше вычислительных ресурсов.
-
TAA (временное сглаживание):
TAA — это технология сглаживания по времени, которая уменьшает эффекты наложения и сглаживания изображений путем интерполяции и смешивания цветов пикселей между последовательными кадрами.
Преимущество TAA в том, что он может обеспечить лучшие эффекты сглаживания в динамических сценах и не требует дополнительной аппаратной поддержки. Однако TAA может вызвать проблемы с размытием изображения и мерцанием изображения. -
FXAA (быстрое приближенное сглаживание):
FXAA — это технология быстрого приближенного сглаживания, которая уменьшает эффект сглаживания за счет размытия и обнаружения краев на изображении.