[Echtzeit-Rendering] Grafik-Rendering-Pipeline

Was ist die Rendering-Pipeline?

Die Kernfunktion der Rendering-Pipeline besteht darin, die gegebene virtuelle Kamera, das dreidimensionale Objekt, die Lichtquelle und andere Informationen zu verwenden, um über eine Reihe verschiedener Stufen ein zweidimensionales Bild zu erzeugen oder zu rendern. Die Rendering-Pipeline ist ein Low-Level-Tool für Echtzeit-Rendering. Die Position und Form des Objekts im endgültigen Bild werden durch seine Geometrie, Umgebungseigenschaften und Kameraposition bestimmt. Das Erscheinungsbild eines Objekts wird durch Materialeigenschaften, Lichtquellen, Texturen (auf die Oberfläche des Objekts angewendete Bilder) und Schattierungsgleichungen beeinflusst.

Rendering der Pipeline-Architektur

Die Struktur der Rendering-Pipeline ist eigentlich eine Fließbandidee. Eine Gruppe von Arbeitern wird mit einem Fließband verglichen, und verschiedene Arbeiter in der Gruppe repräsentieren Vorgänge in unterschiedlichen Phasen. Um beispielsweise ein Sandwich herzustellen, bereitet der erste Arbeiter das Brot vor und reicht es an den zweiten Arbeiter. Der zweite Arbeiter faltet mit dem Brot die Brot- und Schinkenstücke und reicht es an den dritten Arbeiter. Der dritte Arbeiter verteilt die Zutaten darauf Das Sandwich. Damit ist ein Sandwich fertig.

ist auch in der Rendering-Pipeline dasselbe. Wir setzen es in einigen groben Schritten in Gleichungen um. Wie folgt:
Programmanwendung-》Geometrie-Stufe-》Rasterisierung-》Fragment-Stufe-》Test-Stufe

Programmanwendung

Diese Phase wird hauptsächlich von der CPU abgeschlossen, die hauptsächlich Informationen wie virtuelle Kameras, dreidimensionale Objekte, Lichtquellen usw. an die GPU überträgt. Tatsächlich werden auch einige Phasen der physischen Kollisionserkennung durchgeführt. Sie können einige einfache Berechnungen auch der GPU, also einem Computer-Shader, überlassen. Da Entwickler in dieser Phase die höchste Kontrolle haben, können die meisten Programmleistungsoptimierungen in dieser Phase abgeschlossen werden, z. B. das Eliminieren von Scheitelpunkten, das Reduzieren von GPU-Berechnungspunkten, die Anzahl der Flächen usw.

geometrische Bühne

In dieser Phase wird hauptsächlich das Koordinatensystem der Bildscheitelpunkte transformiert und die Koordinatenachsen mithilfe von drei Matrizen kreuzmultipliziert. Diese drei Matrizen sind Modell, Ansicht und Projektion. Diese drei Matrizen stellen die Transformation der Objektscheitelpunktkoordinaten vom lokalen Raum in den Beschneidungsraum dar und enden schließlich in Bildschirmkoordinaten. Generieren Sie Grundelemente (Punkte, Dreiecke usw.) neu und übergeben Sie sie an die nächste Stufe

Rasterung

Holen Sie sich das von der Geometriestufe übergebene Grundelement, suchen Sie nach den Pixeln im Grundelement, erhalten Sie die Pixel im Grundelement und übergeben Sie diese Pixel zur Verarbeitung an den Fragment-Shader.

Fragmentstadium

Färben Sie die übergebenen Fragmente ein, um die Anzeigefarbe der Fragmente zu bestimmen.

Testphase

Fragmente, die nicht passieren, können abgeschirmt werden.

Guess you like

Origin blog.csdn.net/qq_41094072/article/details/134654326
Recommended