Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по компьютерной графике [по билетам].doc
Скачиваний:
68
Добавлен:
02.05.2014
Размер:
805.89 Кб
Скачать

6. Архитектура графических рабочих станций. Принципы конвейерной архитектуры.

Описывая технологии, применяемые в 3D-графических акселераторах, попробуем разобраться, каким же образом применение всех эффектов позволяет получить целостную картину. 3D-графика реализуется с помощью многоступенчатого механизма, называемого конвейером рендеринга.

Конвейерная обработка позволяет ускорить выполнение расчетов за счет того, что вычисления для следующего объекта могут быть начаты до окончания вычислений предыдущего. Конвейер рендеринга может быть разделен на 2 стадии: геометрическая обработка и растеризация.

1) Подготовка отсечения

Масштабирование

Освещение

Разбиение на примитивы

2) Удаление невидимых поверхностей

Z-Buffer, текстурирование

Туман

Прозрачность

Сглаживание

Pixel

Графический конвейер на стадии геометрической обработки выполняется преобразование координат (вращение, перенос и масштабирование всех объектов), отсечение невидимых частей объектов, расчет освещения, определение цвета каждой вершины с учетом всех световых источников и процесс деления изображения на более мелкие формы. Для описания характера поверхности объекта она делится на всевозможные многоугольники. Наиболее часто используется деление на треугольники и четырехугольники. Координаты объектов переводятся из вещественного в целочисленное представление для ускорения вычислений. На этапе рендеринга применяются эффекты в следующей последовательности: удаление скрытых поверхностей, наложение с учетом перспективы текстур с использованием z-буфера, применение эффектов тумана и полупрозрачности. После этого очередная точка считается готовой к помещению в буфер со следующего кадра. В отличие от геометрического этапа, зависящего от вычислительной мощности процессора, выполняющего все вычисления, этап рендеринга интенсивно использует ресурсы памяти. Для каких целей используется память, установленная на плате 3D-акселератора. В ней дополнительно хранятся текстуры, z-буфер и буфер следующего кадра.

Пересечение луча с плоскостью и многоугольником Вопрос 32

Пересечение луча с плоскостью

Пусть плоскость задана общим уравнением:

где N=(A, B, C) — нормальный вектор плоскости.

Заменяя в уравнении плоскости величины x, y и z их выраже­ниями, получим линейное уравнение относительно t:

Разрешая его, находим, что

(a обращается в нуль), то луч параллелен плоскости и, следовательно, не пересекает ее.В случае t*<0 луч не пересекает плоскости.Если t*>0 то координаты точки пересечения вычисляются под­становкой в выражения полученного значения

Если

Пересечение луча с многоугольником

В данном случае задача разбивается на две:

1) нахождение пересечения луча с плоскостью, в которой лежит многоугольник;

2) проверка принадлежности точки пересечения многоугольни­ку.

Решение первой части задачи рассмотрено в предыдущем разде­ле. Остается проверить принадлежность полученной точки много­угольнику.

Решение будет состоять из следующих шагов:

• нахождения пересечения плоскости треугольника с отрезком;

• проверки: лежит ли точка пересечения внутри треугольника. Нахождение точки пересечения луча с плоскостью рассмотрено

в предыдущем разделе. Проверим, лежит ли полученная точка внутри треугольника.

Способ, которым мы воспользуемся, опирается на то, что сумма внутренних углов вида "вершина-точка-вершина" равна 2π, если точ­ка внутри треугольника. Для точки вне треугольника эта сумма будет меньше. Очевидно, сумма берется для одной точки — точки пересече­ния линии и плоскости, и по всем сочетаниям вершин.

Если мы вычислим единичные векторы Pa1, Pa2, Pa3

тогда углы будут равны

Билет 22