Базовая операция OpenGL
На следующей схеме показано, как OpenGL обрабатывает данные. Как показано ниже, команды входят слева и проходят через конвейер обработки. Некоторые команды указывают геометрические объекты для рисования, а другие управляют обработкой объектов на различных этапах обработки.
Этапы обработки в базовой операции OpenGL:
Отображение списка Вместо того, чтобы все команды сразу же проходили через конвейер, можно собрать некоторые из них в отображаемый список для последующей обработки.
Оценщика Этап обработки средства оценки обеспечивает эффективный способ приближения кривой и поверхностной геометрии путем оценки полиномиальных команд входных значений.
Операции с вершинами и примитивная сборка OpenGL обрабатывает геометрические примитивы точек, сегменты линий и многоугольников, все из которых описываются вершинами. Вершины преобразуются и освещаются, а примитивы обрезаются в окне просмотра для подготовки к растеризации.
Растеризации На этапе растеризации создается ряд адресов буфера кадров и связанных значений с использованием двумерного описания точки, сегмента линии или многоугольника. Каждый созданный таким образом фрагмент подается на последнем этапе, по каждому фрагменту операций.
Операции по фрагментам Это окончательные операции, выполняемые с данными до их сохранения в виде пикселей в framebuffer.
Операции по фрагментам включают в себя условное обновление буфера фреймов на основе входящих и ранее сохраненных значений z (для буферизации z) и смешивание входящих цветов пикселей с сохраненными цветами, а также маскирование и другие логические операции со значениями пикселей.
Данные могут быть введены в виде пикселей, а не вершин. Данные в виде пикселей, например, могут описывать изображение для использования в сопоставлении текстур, пропускают первый этап обработки, описанный выше, и вместо этого обрабатываются как пиксели на этапе операций с пикселями. Ниже приведены пиксельные данные:
- Хранится в виде памяти текстуры для использования на этапе растеризации.
- Растровые фрагменты, полученные фрагменты объединяются в framebuffer так же, как если бы они были созданы из геометрических данных.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по