Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 12 лет назад пользователемwww.graphicon.ru
1 Графический конвейер Преобразования геометрии Александр Шубин
2 Введение в проблему Графическая программа Вершинный конвейер Цель: преобразоватъ трёхмерные описания объектов в двухмерную картинку Цель: преобразоватъ трёхмерные описания объектов в двухмерную картинку Средство: задать строгий порядок преобразований Средство: задать строгий порядок преобразований Растеризация Фрагментный конвейер Буфер экрана
3 Вершинный конвейер Вершинные Операции (Transformation and Lighting) Сборка примитивов Отсечение Перспектива Окно Отбраковка Вершинный конвейер работает с вершинами переходим от трёхмерных предметных координат к двухмерным экранным
4 Вершинные операции координаты вершин преобразуются координаты вершин преобразуются по видовым матрицам и по видовым матрицам и матрицам проекции матрицам проекции преобразуются нормали и преобразуются нормали и текстурные координаты текстурные координаты накладывается вычисление накладывается вычисление освещения освещения
5 Сборка примитивов формирование примитивов формирование примитивов (точки, линии, (точки, линии, многоугольники) многоугольники) необходимый этап, необходимый этап, т.к. дальше идёт работа т.к. дальше идёт работа уже с наборами точек уже с наборами точек
6 Обработка примитивов отсечение по плоскостям отсечение по плоскостям отсечения и отсечения и отображаемому объёму отображаемому объёму расчёт перспективы расчёт перспективы с перспективой без перспективы
7 Обработка примитивов приведение к оконным приведение к оконным (экранным) координатам (экранным) координатам проверка расположен ли проверка расположен ли примитив на переднем примитив на переднем плане (отбраковка) плане (отбраковка)
8 Растеризация Растеризация примитивов Растеризованные примитивы (фрагменты) Обработанные вершины на входе: обработанные вершины (после вершинного конвейера) на входе: обработанные вершины (после вершинного конвейера) на выходе: фрагменты, на которые разбиваются примитивы на выходе: фрагменты, на которые разбиваются примитивы
9 Фрагментный конвейер Предварительная обработка фрагментов Операции над фрагментами Фрагментный конвейер Обработка фрагментов: текстурирование, дымка, сложение цветов… Обработка фрагментов: текстурирование, дымка, сложение цветов… Операции: проверка прозрачности, глубины, отсечение по буферу трафарета… Операции: проверка прозрачности, глубины, отсечение по буферу трафарета…
10 Программируемый конвейер Позволяет заменить фиксированную часть обработки вершин и фрагментов программируемой Позволяет заменить фиксированную часть обработки вершин и фрагментов программируемой Графическая программа Вершинный конвейер Растеризация Фрагментный конвейер Буфер экрана Фрагментный шейдер Вершинный шейдер
11 Вершинный процессор позволяет программировать этап обработки вершин позволяет программировать этап обработки вершин работает по отдельности с каждой вершиной работает по отдельности с каждой вершиной должен полностью заменять фиксированную функциональность должен полностью заменять фиксированную функциональность Сборка примитивов Отсечение Перспектива Окно Отбраковка Вершинный конвейер Вершинный процессор
12 Фрагментный процессор позволяет программировать этап обработки фрагментов позволяет программировать этап обработки фрагментов работает по отдельности с каждым фрагментом работает по отдельности с каждым фрагментом должен полностью заменять фиксированную функциональность должен полностью заменять фиксированную функциональность Операции над фрагментами Фрагментный конвейер Фрагментный процессор
13 Преобразования координат каждое пространство координат имеет свои свойства каждое пространство координат имеет свои свойства большая гибкость большая гибкость Нормализованное пространство Предметное пространство Глобальное пространство Пространство обзора Пространство отсечения Оконное пространство
14 Преобразования координат переходим от одного предмета к нескольким переходим от одного предмета к нескольким необходимы общие единицы измерения необходимы общие единицы измерения расположение начала координат должно быть удобно для всей сцены расположение начала координат должно быть удобно для всей сцены Предметное пространство Глобальное пространство
15 Преобразования координат учитываем параметры обзора (точка обзора, точка фокуса, направление верха) учитываем параметры обзора (точка обзора, точка фокуса, направление верха) начало координат теперь в точек обзора начало координат теперь в точек обзора в OpenGL сразу идёт переход из предметного пространства в пространство обзора (модельновидовая матрица) в OpenGL сразу идёт переход из предметного пространства в пространство обзора (модельновидовая матрица) Глобальное пространство Пространство обзора
16 Преобразования координат исключаем примитивы, не входящие в область обзора исключаем примитивы, не входящие в область обзора область обзора определяют видимый объём и пользовательские плоскости отсечения область обзора определяют видимый объём и пользовательские плоскости отсечения в OpenGL видимый объём задаётся матрицей проекции в OpenGL видимый объём задаётся матрицей проекции Пространство обзора Пространство отсечения
17 Преобразования координат проводится расчёт перспективы проводится расчёт перспективы все графические примитивы помещаюься в пространство между (-1, -1, -1) и (1, 1, 1) все графические примитивы помещаюься в пространство между (-1, -1, -1) и (1, 1, 1) промежуточное пространство на пути к окну промежуточное пространство на пути к окну Пространство отсечения Нормализованное пространство
18 Преобразования координат переходим в оконные переходим в оконные координаты координаты растеризация происходит растеризация происходит в оконных координатах в оконных координатах Нормализованное пространство Оконное пространство
19 Другие конвейеры разработана Lusacfilm и Pixar для высококачественного рендеринга сложных сцен разработана Lusacfilm и Pixar для высококачественного рендеринга сложных сцен имеет четыре стадии имеет четыре стадии Конвейер Reyes Деление примитивов Определение видимости/ фильтрация ЗатенениеРастеризация
20 Другие конвейеры Отличия Reyes от OpenGL операция текстурирования не нуждается в дополнительной фильтрации операция текстурирования не нуждается в дополнительной фильтрации основной примитив – микрополигон (однородно закрашенный четырёхугольник) основной примитив – микрополигон (однородно закрашенный четырёхугольник) одна стадия затенения одна стадия затенения
21 Спасибо за внимание!
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.