Плоское затенение в графическом конвейере - PullRequest
1 голос
/ 10 января 2012

Меня попросили проанализировать модель плоского затенения для трехмерного освещения и "обсудить, как она интегрируется в графический конвейер".

enter image description here

Поскольку плоское затенение применяется один раз для каждого лица, я думал, что правильное место, где вычисляется свет, - это фаза вычисления фрагментов. Однако я также могу быть совершенно неправ ...

Может ли кто-нибудь указать мне правильное направление?

1 Ответ

1 голос
/ 10 января 2012

Эта диаграмма не особенно читаема.Это намного, намного проще для глаз:

enter image description here

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

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

...