
Ответы на вопросы к экзамену / 6 Процесс геометрического моделирования и полигональной растеризации
.docx6. Процесс геометрического моделирования и полигональной растеризации.
При использовании принципа полигональной растеризации, все тела, подлежащие отображению строятся на основе каркасных сеток.
Каркасные
сетки
состоят из вершин (углов), соединённых
рёбрами, однако визуализации каркасная
сетка подвергается обычно в сплошном
режиме, т.е. выводится не проволочные
модели, а сплошная поверхность тела.
Как
правило, графическая аппаратура выполняет
задачу заполнения каждой ячейки каркасной
сетки на основе заданных моделей
освещения, материалов, текстур и т.п.
Как правило, каркасная сетка имеет
треугольные ячейки => любая поверхность
должна быть разбита на треугольники.
В зависимости от необходимой графической растеризации приложение предоставляет графическому конвейеру инф-ю о том или ином объёме геометрических данных, при этом сложные криволинейные поверхности требуется разбивать на очень большое кол-во мелких треуг-в. Это не означает, что тела, состоящие из треуг-х граней можно моделировать минимальным кол-ом треуг-в. Например, тетраэдр формально можно представить 4-мя треуг-ми, однако не во всех моделях этого оказывается достаточно.
Структура Рендеринга.
инф-я о вершинах
растеризация (интерполяция атрибутов вершин)
выходной растр
обработка вершин
обработка пикселей
Вершина графического конвейера – блок инф-и, ассоциированной с узлом каркасной сетки. Эта инф-я включает геометрические координат, цвет, нормаль, текстурные координаты, любую другую инф-ю, которую способен обрабатывать графический конвейер.
Соединение ребра каркасной сетки никак не кодируется, однако предполагается, что поступающие на вход данные определяют список треуг-в. Так что первые 3 порции инф-и есть 3 вершины первого треуг-ка и т.д.
Т.к. атрибуты вершин необходимо подвергать интерполяции (способ нахождения промежуточных значений величин по имеющемуся дискретному набору известных значений) для вычисления атрибутов любой точки внутри ячейки, то чем плотнее сетка, тем меньше интерполяционные ошибки.
Поскольку вычисления исходных атрибутов допустимо только до интерполяции, устранить погрешность после растеризации невозможно.
Классическим примером неправильного расчёта при визуализации недостаточно детализированных каркасных сеток является освещение крупного плоского объекта точечным источником света, близко расположенным к поверхности.
Физически адекватная визуализация должна давать яркое пятно в центре объекта и спад интенсивности к его краям, так что в точках А, В, С, D интенсивность освещения = 0. Если такую сцену строить, как совокупность треуг-в ABC и ACD и произвести расчёт освещённости для всех вершин, то интенсивность окажется близка к 0, поскольку расстояние AS, BS, CS, DS велики. Когда почти нулевые значения поступают на интерполяцию, получаются также почти нулевые промежуточные значения поступают на интерполяцию, получаются такжепочти нулевые значения (для линейной интерполяции) => все промежуточные точки обширной поверхности после растеризации будут тёмными. Чем дальше от источника, тем меньше треуг-в.
В первом случае получится однородное разбиение, вся поверхность однородного объекта покрыта одинаковой плотной сеткой. Во втором случае – адаптированное разбиение, где плотность сетки уменьшается с увеличением расстояния до источника света, т.к. самая важная информация об освещённости требуется вблизи источника.