私は、3D ライティングのフラット シェーディング モデルを分析し、「グラフィックス パイプラインに統合する方法について議論する」よう依頼されました。
フラット シェーディングは 1 面につき 1 回適用されるため、ライトが計算される適切な場所はフラグメント計算の段階であると考えていました。しかし、私も完全に間違っているかもしれません...
誰かが私を正しい方向に向けることができますか?
あの図は特に読みにくい。これは目にはるかに簡単です:
...また、法線が補間される段階を正しく配置します: フラグメント シェーダーまたはラスター操作の前で、フラグメントをファイナライズします。あなたの図で言えば、これは「セットアップ」というラベルの付いた領域だと思います。
フラット シェーディングの場合、法線はポリゴンの表面全体に補間されません。ただし、フラグメントの適切な法線を決定できるように、それらは引き続き補間段階を通過します。そのため、法線はラスター化と補間で決定されますが、実際のカラーリングとライティングはフラグメント シェーダーによって決定されます。これが最新のアプローチです。固定パイプライン (フラグメント シェーダーなし) では、すべてラスタライザーによって実行されます。