Студопедия — Структура конвейера
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Структура конвейера






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

На вход конвейера попадает информация двух типов. Первый тип представляет собой описания примитивов заданные через вершины. Второй тип – это описания плоских изображений. Рассмотрим подробнее основные группы операций, более детально рассмотренные в [1].

Вычислители.Все геометрические примитивы, обрабатываемые конвейером, описываются своими вершинами. Параметрические кривые и поверхности могут быть описаны контрольными точками и базовыми функциями (обычно полиномиальными). Вычислители — это методы, которые генерируют координаты вершин, нормали к поверхности, координаты текстур и цвета точек, опираясь на контрольные точки.

Операции с пикселями (Pixel Operations).Данные о пикселях проходят в конвейере OpenGL по своему маршруту. Данные, хранимые в массивах системной памяти, распаковываются с учетом набора возможных форматов, затем масштабируются, сдвигаются и обрабатываются так называемой картой элементов отображения (pixel map). Результат записывается либо в память текстуры, либо посылается на следующий этап — растеризацию. Пунктиром на схеме показана возможность считывания пиксельной информации из буфера кадра. Полученная таким образом информация также подвергается масштабированию и сдвигу, а также может быть упакована и помещена в системную память.

Сборка текстуры (Texture Assembly). Текстура — это изображение, накладываемое на поверхность геометрического объекта для придания ему реалистичности. Текстурные объекты создаются в OpenGL для упрощения их повторного использования. Использование текстур сопряжено с большими затратами, поэтому в работе с ними применяют специальные ресурсы, такие как память текстур. Так называют быструю видеопамять, приоритет использования которой отдается текстурным объектам. Вопросам наложения текстур посвящена лекция 8.

Растеризация – это процесс преобразования геометрических данных во фрагменты. Каждый фрагмент соответствует пикселю в буфере кадра. При вычислении цвета фрагмента учитывается большое количество факторов: узор штриховки полигона или линии, толщина линии и размер точки, сглаживание зубчатости линий, тень объекта, режим заполнения полигона, глубина изображения (факт видимости или невидимости) и др. Методы растеризации мы рассмотрим на лекции 11. Отметим, что во фрагменты преобразуется также и прошедшая обработку пиксельная информация.

Операции с фрагментами могут начинаться с определения текселя текстуры, соответствующего фрагменту. Фрагмент можно рассматривать как прообраз пикселя. Далее следует серия тестов, от результатов которых зависит: будет ли занесена информация фрагмента в буфер кадра. Отметим следующие тесты:

  • Scissor-тест (тест отсечения) проверяет принадлежность фрагмента ограниченной прямоугольной области вывода, задаваемой функцией glScissor;
  • Alpha-тест производит отбор фрагментов на основе четвертой компоненты цвета — прозрачности. Параметры теста задаются функцией glAlphaFunc;
  • Stencil-тест (тест трафарета) отбирает фрагменты, исходя из значений специального буфера, и используется при создании специальных эффектов, например теней.
  • Depth-тест (тест глубины) проверяет, не закрыт ли фрагмент другим фрагментом с меньшей координатой Z анализируя специальный буфер глубины. Обеспечивает удаление невидимых линий и поверхностей.

Кроме того, фрагмент может быть подвергнут дополнительным операциям:

вычислению тумана (fog), смешиванию (blending), интерполяции цвета (dithering) и логическим операциям с содержимым буфера кадра.

 







Дата добавления: 2015-09-04; просмотров: 432. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Решение Постоянные издержки (FC) не зависят от изменения объёма производства, существуют постоянно...

ТРАНСПОРТНАЯ ИММОБИЛИЗАЦИЯ   Под транспортной иммобилизацией понимают мероприятия, направленные на обеспечение покоя в поврежденном участке тела и близлежащих к нему суставах на период перевозки пострадавшего в лечебное учреждение...

Кишечный шов (Ламбера, Альберта, Шмидена, Матешука) Кишечный шов– это способ соединения кишечной стенки. В основе кишечного шва лежит принцип футлярного строения кишечной стенки...

ТЕОРИЯ ЗАЩИТНЫХ МЕХАНИЗМОВ ЛИЧНОСТИ В современной психологической литературе встречаются различные термины, касающиеся феноменов защиты...

Этические проблемы проведения экспериментов на человеке и животных В настоящее время четко определены новые подходы и требования к биомедицинским исследованиям...

Классификация потерь населения в очагах поражения в военное время Ядерное, химическое и бактериологическое (биологическое) оружие является оружием массового поражения...

Studopedia.info - Студопедия - 2014-2024 год . (0.019 сек.) русская версия | украинская версия