Графический конвейерПреобразованиягеометрии

Содержание

Слайд 2

Введение в проблему

Графическая
программа

Вершинный
конвейер

Цель: преобразоватъ трёхмерные описания объектов в двухмерную

Введение в проблему Графическая программа Вершинный конвейер Цель: преобразоватъ трёхмерные описания объектов
картинку
Средство: задать строгий порядок преобразований

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

Фрагментный
конвейер

Буфер
экрана

Слайд 3

Вершинный конвейер

Вершинные
Операции
(Transformation
and Lighting)

Сборка
примитивов
Отсечение
Перспектива
Окно
Отбраковка

Вершинный конвейер

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

Вершинный конвейер Вершинные Операции (Transformation and Lighting) Сборка примитивов Отсечение Перспектива Окно
переходим от трёхмерных предметных

координат к двухмерным экранным

Слайд 4

Вершинные операции

координаты вершин преобразуются
по видовым матрицам и
матрицам проекции
преобразуются

Вершинные операции координаты вершин преобразуются по видовым матрицам и матрицам проекции преобразуются
нормали и
текстурные координаты
накладывается вычисление
освещения

Слайд 5

Сборка примитивов

формирование примитивов
(точки, линии,
многоугольники)
необходимый этап,
т.к. дальше идёт

Сборка примитивов формирование примитивов (точки, линии, многоугольники) необходимый этап, т.к. дальше идёт
работа
уже с наборами точек

Слайд 6

Обработка примитивов

отсечение по плоскостям
отсечения и
отображаемому объёму
расчёт перспективы

с

Обработка примитивов отсечение по плоскостям отсечения и отображаемому объёму расчёт перспективы с перспективой без перспективы
перспективой

без перспективы

Слайд 7

Обработка примитивов

приведение к оконным
(экранным) координатам
проверка расположен ли
примитив на

Обработка примитивов приведение к оконным (экранным) координатам проверка расположен ли примитив на переднем плане (отбраковка)
переднем
плане (отбраковка)

Слайд 8

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

Растеризация
примитивов

Растеризованные
примитивы
(фрагменты)

Обработанные
вершины

на входе: обработанные вершины (после вершинного конвейера)
на

Растеризация Растеризация примитивов Растеризованные примитивы (фрагменты) Обработанные вершины на входе: обработанные вершины
выходе: фрагменты, на которые разбиваются примитивы

Слайд 9

Фрагментный конвейер

Предварительная
обработка
фрагментов

Операции над
фрагментами

Фрагментный конвейер

Обработка фрагментов: текстурирование, дымка, сложение цветов…
Операции: проверка прозрачности,

Фрагментный конвейер Предварительная обработка фрагментов Операции над фрагментами Фрагментный конвейер Обработка фрагментов:
глубины, отсечение по буферу трафарета…

Слайд 10

Программируемый конвейер

Позволяет заменить фиксированную часть обработки вершин и фрагментов программируемой

Графическая
программа

Вершинный
конвейер

Программируемый конвейер Позволяет заменить фиксированную часть обработки вершин и фрагментов программируемой Графическая

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

Фрагментный
конвейер

Буфер
экрана

Фрагментный
шейдер

Вершинный
шейдер

Слайд 11

Вершинный процессор

позволяет программировать этап обработки вершин
работает по отдельности с каждой вершиной
должен полностью

Вершинный процессор позволяет программировать этап обработки вершин работает по отдельности с каждой
заменять фиксированную функциональность

Сборка
примитивов
Отсечение
Перспектива
Окно
Отбраковка

Вершинный конвейер

Вершинный
процессор

Слайд 12

Фрагментный процессор

позволяет программировать этап обработки фрагментов
работает по отдельности с каждым фрагментом
должен полностью

Фрагментный процессор позволяет программировать этап обработки фрагментов работает по отдельности с каждым
заменять фиксированную функциональность

Операции над
фрагментами

Фрагментный конвейер

Фрагментный
процессор

Слайд 13

Преобразования координат

каждое пространство координат имеет свои свойства
большая гибкость

Нормализованное
пространство

Предметное
пространство

Глобальное
пространство

Пространство
обзора

Пространство
отсечения

Оконное
пространство

Преобразования координат каждое пространство координат имеет свои свойства большая гибкость Нормализованное пространство

Слайд 14

Преобразования координат

переходим от одного предмета к нескольким
необходимы общие единицы измерения
расположение начала координат

Преобразования координат переходим от одного предмета к нескольким необходимы общие единицы измерения
должно быть удобно для всей сцены

Предметное
пространство

Глобальное
пространство

Слайд 15

Преобразования координат

учитываем параметры обзора (точка обзора, точка фокуса, направление верха)
начало координат теперь

Преобразования координат учитываем параметры обзора (точка обзора, точка фокуса, направление верха) начало
в точек обзора
в OpenGL сразу идёт переход из предметного пространства в пространство обзора (модельновидовая матрица)

Глобальное
пространство

Пространство
обзора

Слайд 16

Преобразования координат

исключаем примитивы, не входящие в область обзора
область обзора определяют видимый объём

Преобразования координат исключаем примитивы, не входящие в область обзора область обзора определяют
и пользовательские плоскости отсечения
в OpenGL видимый объём задаётся матрицей проекции

Пространство
обзора

Пространство
отсечения

Слайд 17

Преобразования координат

проводится расчёт перспективы
все графические примитивы помещаюься в пространство между (-1, -1,

Преобразования координат проводится расчёт перспективы все графические примитивы помещаюься в пространство между
-1) и (1, 1, 1)
промежуточное пространство на пути к окну

Пространство
отсечения

Нормализованное
пространство

Слайд 18

Преобразования координат

переходим в оконные
координаты
растеризация происходит
в оконных координатах

Нормализованное
пространство

Оконное
пространство

Преобразования координат переходим в оконные координаты растеризация происходит в оконных координатах Нормализованное пространство Оконное пространство

Слайд 19

Другие конвейеры

разработана Lusacfilm и Pixar для высококачественного рендеринга сложных сцен
имеет четыре стадии

Другие конвейеры разработана Lusacfilm и Pixar для высококачественного рендеринга сложных сцен имеет

Конвейер Reyes

Деление
примитивов
Определение
видимости/
фильтрация

Затенение

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

Слайд 20

Другие конвейеры

Отличия Reyes от OpenGL
операция текстурирования не нуждается в дополнительной фильтрации
основной примитив

Другие конвейеры Отличия Reyes от OpenGL операция текстурирования не нуждается в дополнительной
– микрополигон (однородно закрашенный четырёхугольник)
одна стадия затенения
Имя файла: Графический-конвейерПреобразованиягеометрии.pptx
Количество просмотров: 135
Количество скачиваний: 0