'

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

Понравилась презентация – покажи это...





Слайд 0

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


Слайд 1

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


Слайд 2

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


Слайд 3

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


Слайд 4

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


Слайд 5

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


Слайд 6

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


Слайд 7

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


Слайд 8

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


Слайд 9

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


Слайд 10

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


Слайд 11

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


Слайд 12

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


Слайд 13

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


Слайд 14

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


Слайд 15

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


Слайд 16

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


Слайд 17

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


Слайд 18

Другие конвейеры разработана Lusacfilm и Pixar для высококачественного рендеринга сложных сцен имеет четыре стадии Конвейер Reyes Деление примитивов Определение видимости/ фильтрация Затенение Растеризация


Слайд 19

Другие конвейеры Отличия Reyes от OpenGL операция текстурирования не нуждается в дополнительной фильтрации основной примитив – микрополигон (однородно закрашенный четырёхугольник) одна стадия затенения


Слайд 20

Спасибо за внимание!


×

HTML:





Ссылка: