Jump to content

Растеризация

(Перенаправлено с растеризации )
Растровое графическое изображение

В компьютерной графике растеризация ( британский английский ) или растеризация ( американский английский ) — это задача взять изображение, описанное в формате векторной графики (фигуры), и преобразовать его в растровое изображение (серию пикселей , точек или линий, которые, при совместном отображении создайте изображение, представленное с помощью фигур). [1] [2] Растровое изображение затем может быть отображено на дисплее компьютера , видеодисплее или принтере или сохранено в формате растрового файла. Растеризация может относиться к технике рисования 3D-моделей или к преобразованию примитивов 2D-рендеринга , таких как многоугольники и сегменты линий , в растровый формат.

Этимология

[ редактировать ]

Термин «растеризация» происходит от немецкого Raster «сетка, узор, схема» и латинского rāstrum «скребок, грабли». [3] [4]

2D-изображения

[ редактировать ]

Линейные примитивы

[ редактировать ]

Линейный алгоритм Брезенхэма является примером алгоритма, используемого для растеризации линий.

Примитивы круга

[ редактировать ]

Такие алгоритмы, как алгоритм круга средней точки, используются для рендеринга круга на пикселизированном холсте.

3D-изображения

[ редактировать ]

Растеризация — один из типичных методов рендеринга 3D-моделей. По сравнению с другими методами рендеринга, такими как трассировка лучей , растеризация происходит чрезвычайно быстро и поэтому используется в большинстве 3D-движков реального времени. Однако растеризация — это просто процесс вычисления сопоставления геометрии сцены с пикселями, и он не предписывает определенного способа вычисления цвета этих пикселей. Конкретный цвет каждого пикселя назначается пиксельным шейдером (который в современных графических процессорах полностью программируется ). Затенение может учитывать физические эффекты, такие как положение источников света, их приближение или чисто художественный замысел.

Процесс растрирования 3D-моделей на 2D-плоскости для отображения на экране компьютера экранное пространство ») часто выполняется с помощью аппаратного обеспечения с фиксированными функциями (непрограммируемого) в графическом конвейере . Это связано с тем, что нет смысла изменять методы растеризации, используемые во время рендеринга. [5] а система специального назначения обеспечивает высокую эффективность.

Растеризация треугольников

[ редактировать ]
Растеризация треугольников с использованием правила верхнего левого угла

Полигоны — это распространенное представление цифровых 3D-моделей. Перед растеризацией отдельные полигоны обычно разбиваются на треугольники; поэтому типичной проблемой, которую приходится решать при трехмерной растеризации, является растеризация треугольника. Свойства, которые обычно требуются от алгоритмов растеризации треугольников, заключаются в растеризации двух соседних треугольников (т. е. тех, которые имеют общее ребро).

  1. не оставляет дыр (нерастрированных пикселей) между треугольниками, так что растеризованная область полностью заполняется (так же, как и поверхность соседних треугольников). И
  2. ни один пиксель не растеризуется более одного раза, т.е. растеризованные треугольники не перекрываются. Это делается для того, чтобы гарантировать, что результат не зависит от порядка растеризации треугольников. Перерисовка пикселей также может означать трату вычислительной мощности на пиксели, которые будут перезаписаны.

Это приводит к установлению правил растеризации, гарантирующих вышеуказанные условия. Один набор таких правил называется правилом верхнего левого угла , которое гласит, что пиксель растеризуется тогда и только тогда, когда

  1. его центр полностью лежит внутри треугольника. Или
  2. его центр лежит точно на ребре треугольника (или нескольких ребрах в случае углов), которое является (или, в случае углов, все) либо верхним , либо левым краем.

ребро Верхнее — это ребро, которое строго горизонтально и лежит над другими ребрами, а левое ребро — это негоризонтальное ребро, находящееся на левой стороне треугольника.

Это правило реализовано, например, Direct3D. [6] и многие реализации OpenGL (хотя спецификация не определяет это и требует только согласованного правила) [7] ).

Качество

[ редактировать ]
Пиксельная точность (слева) и субпиксельная точность (в центре) и сглаживание (справа)

Качество растеризации можно улучшить с помощью сглаживания , создающего «гладкие» края. Субпиксельная точность — это метод, который учитывает позиции в более мелком масштабе, чем пиксельная сетка, и может давать разные результаты, даже если конечные точки примитива попадают в одни и те же пиксельные координаты, создавая более плавную анимацию движения. Простому или более старому оборудованию, такому как PlayStation 1 , не хватало субпиксельной точности при растеризации 3D. [8]

См. также

[ редактировать ]
  1. ^ Майкл Ф. Уорбойс (30 октября 1995 г.). ГИС: взгляд на информатику . ЦРК Пресс. стр. 232–. ISBN  978-0-7484-0065-2 .
  2. ^ Канг-Цунг Чанг (27 августа 2007 г.). Программирование ArcObjects с помощью VBA: целенаправленный подход, второе издание . ЦРК Пресс. стр. 91–. ISBN  978-1-4200-0918-7 .
  3. ^ Харпер, Дуглас. «растр» . Интернет-словарь этимологии .
  4. ^ раструм . Чарльтон Т. Льюис и Чарльз Шорт. Латинский словарь по проекту «Персей» .
  5. ^ «Растеризация: практическая реализация» . www.scratchapixel.com . Проверено 6 октября 2023 г.
  6. ^ «Правила растеризации (Direct3D 9)» . Документы Майкрософт . Проверено 19 апреля 2020 г.
  7. ^ OpenGL 4.6 (PDF) . п. 478.
  8. ^ «Проблемы растеризации PlayStation» . Либретро . 4 октября 2016 г. Проверено 19 апреля 2020 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: af46a3c095cb3f0b343fd36c34b3e574__1716444240
URL1:https://arc.ask3.ru/arc/aa/af/74/af46a3c095cb3f0b343fd36c34b3e574.html
Заголовок, (Title) документа по адресу, URL1:
Rasterisation - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)