Примечания к чтению «Введение в UnityShader Essentials» — конвейер рендеринга

Мы часто будем слышать слово и в графике, и в шейдере — конвейер рендеринга (Render Pipeline), его конечная цель — фактически начать с трехмерной сцены, сгенерировать последнюю для рендеринга двухмерного изображения на наш экран. В книге «Introduction to UnityShader Essentials» конвейер рендеринга разделен на три этапа:

1. Этап приложения (ApplicationStage)

2. Геометрический этап (GemetryStage)

3. Этап растеризатора (RasterizerStage)

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

Далее будет кратко описано, что будет делать каждый этап, начиная с этапа приложения .

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

1. Подготовьте данные сцены

2. Выполните крупнозернистую отбраковку

3. Установите состояние рендеринга модели

На этом этапе самым важным выводом является геометрическая информация, необходимая для рендеринга, то есть примитивы рендеринга (RenderingPrimitives).

Проще говоря, примитивами рендеринга могут быть точки, линии, треугольники и т. д.

Затем идет этап геометрии.

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

Наконец, этап растеризации

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

рекомендация

отblog.csdn.net/qq_52690206/article/details/128122273