Поделиться через


Базовая операция OpenGL

На следующей схеме показано, как OpenGL обрабатывает данные. Как показано ниже, команды введите слева и перейдите через конвейер обработки. Некоторые команды указывают геометрические объекты для рисования, а другие — управление обработкой объектов во время различных этапов обработки.

диаграмме с этапами конвейера обработки данных OpenGL.

Этапы обработки в базовой операции OpenGL приведены следующим образом:

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

  • средство оценки Этап обработки вычислителя обеспечивает эффективный способ приблизить кривую и геометрию поверхности путем оценки многономиальных команд входных значений.

  • операции с вершинами и примитивная сборка OpenGL обрабатывает геометрические примитивы, сегменты линий и многоугольники, описываемые вершинами. Вершины преобразуются и освещены, а примитивы обрезаются к порту просмотра при подготовке к растризации.

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

  • операции с фрагментами Это окончательные операции, выполняемые для данных перед сохранением в виде пикселей в кадре.

    Операции с фрагментами включают условные обновления фреймбуфера на основе входящих и ранее сохраненных значений z (для буферизации z) и смешивания входящих цветов пикселей с сохраненными цветами, а также маскирования и других логических операций с значениями пикселей.

Данные можно вводить в виде пикселей, а не вершин. Данные в виде пикселей, например изображение для использования в сопоставлении текстур, пропускает первый этап обработки, описанный выше, и вместо этого обрабатывается как пиксели в стадии операций с пикселями. Следующие операции пикселей:

  • Хранится как память текстуры для использования на этапе растеризации.
  • Растровый, с результирующей фрагментами, объединенными в кадрbuffer так же, как если бы они были созданы из геометрических данных.