Entdecken Sie Millionen von E-Books, Hörbüchern und vieles mehr mit einer kostenlosen Testversion

Nur $11.99/Monat nach der Testphase. Jederzeit kündbar.

Raytracing-Grafiken: Erforschung des fotorealistischen Renderings in der Computer Vision
Raytracing-Grafiken: Erforschung des fotorealistischen Renderings in der Computer Vision
Raytracing-Grafiken: Erforschung des fotorealistischen Renderings in der Computer Vision
eBook148 Seiten1 Stunde

Raytracing-Grafiken: Erforschung des fotorealistischen Renderings in der Computer Vision

Bewertung: 0 von 5 Sternen

()

Vorschau lesen

Über dieses E-Book

Was ist Raytracing-Grafik?


In der 3D-Computergrafik ist Raytracing eine Technik zur Modellierung des Lichttransports zur Verwendung in einer Vielzahl von Rendering-Algorithmen zur Erzeugung digitaler Bilder.


Wie Sie profitieren


(I) Einblicke und Validierungen zu den folgenden Themen:


Kapitel 1: Raytracing ( Grafiken)


Kapitel 2: Rendering (Computergrafik)


Kapitel 3: Globale Beleuchtung


Kapitel 4: Radiosität (Computergrafik)


Kapitel 5: Photonenkartierung


Kapitel 6: Strahlenwurf


Kapitel 7: Spiegelreflexion


Kapitel 8: Geometrische Optik


Kapitel 9: Grafikpipeline


Kapitel 10: Rendering-Gleichung


(II) Beantwortung der häufigsten öffentlichen Fragen zu Raytracing-Grafiken.


(III) Beispiele aus der Praxis für die Verwendung von Raytracing-Grafiken in vielen Bereichen.


Für wen dieses Buch gedacht ist


Profis, Studenten und Doktoranden, Enthusiasten, Hobbyisten und diejenigen, die es tun Sie möchten über das Grundwissen oder die Informationen zu Raytracing-Grafiken jeglicher Art hinausgehen.


 

SpracheDeutsch
Erscheinungsdatum14. Mai 2024
Raytracing-Grafiken: Erforschung des fotorealistischen Renderings in der Computer Vision

Mehr von Fouad Sabry lesen

Ähnlich wie Raytracing-Grafiken

Titel in dieser Serie (100)

Mehr anzeigen

Ähnliche E-Books

Künstliche Intelligenz (KI) & Semantik für Sie

Mehr anzeigen

Ähnliche Artikel

Rezensionen für Raytracing-Grafiken

Bewertung: 0 von 5 Sternen
0 Bewertungen

0 Bewertungen0 Rezensionen

Wie hat es Ihnen gefallen?

Zum Bewerten, tippen

Die Rezension muss mindestens 10 Wörter umfassen

    Buchvorschau

    Raytracing-Grafiken - Fouad Sabry

    Kapitel 1: Raytracing (Grafik)

    In der 3D-Computergrafik ist Raytracing eine Technik zur Simulation des Lichttransports, die auf eine Vielzahl von Rendering-Techniken zur Erzeugung digitaler Bilder angewendet werden kann.

    Raytracing-basierte Rendering-Techniken wie Raycasting, rekursives Raytracing, Distributions-Raytracing, Photonen-Mapping und Routenverfolgung sind oft langsamer und genauer als Scanline-Rendering-Methoden.

    Seit 2019 ist die Hardwarebeschleunigung für Echtzeit-Raytracing zum Standard bei neuen kommerziellen Grafikkarten geworden, und Grafik-APIs sind diesem Beispiel gefolgt und ermöglichen es Entwicklern, hybrides Raytracing und rasterungsbasiertes Rendering in Spielen und anderen Echtzeitanwendungen mit geringeren Auswirkungen auf die Frame-Renderzeiten zu verwenden.

    Raytracing ist in der Lage, eine Reihe optischer Phänomene zu replizieren. Tatsächlich kann Raytracing jedes physikalische Wellen- oder Teilchenphänomen mit annähernd linearer Bewegung imitieren.

    Raytracing-basierte Rendering-Ansätze, die Licht über eine Domäne abtasten, verursachen Bildrauschartefakte, die durch das Nachzeichnen einer sehr hohen Anzahl von Strahlen oder durch den Einsatz von Entrauschungsalgorithmen gemildert werden können.

    Die Idee des Raytracing stammt bereits aus dem 16. Jahrhundert, als es von Albrecht Dürer beschrieben wurde, dem seine Entwicklung zugeschrieben wird.

    Dürer beschrieb mehrere Techniken zur Projektion von 3D-Szenen auf eine Bildebene.

    Einige davon projizieren bestimmte Geometrie auf die Bildposition, wie es derzeit bei der Rasterung der Fall ist.

    Andere definieren die visuelle Geometrie entlang eines bestimmten Strahls, ähnlich wie beim Raytracing.

    Appel nutzte Raytracing, um die Hauptsichtbarkeit zu bestimmen (Bestimmung der der Kamera am nächsten gelegenen Oberfläche an jedem Bildpunkt), und verfolgte dann sekundäre Strahlen von jedem abgedunkelten Punkt zur Lichtquelle, um zu beurteilen, ob der Punkt im Schatten lag oder nicht.

    Später, im Jahr 1971, wurden Goldstein und Nagel (Mathematical Applications Group, Inc.)

    1976 gab es einen weiteren frühen Fall von Raycasting, Scott Roth machte eine Daumenkino-Animation in Bob Sproulls Caltech-Computergrafikkurs.

    Die gescannten Seiten werden rechts als Video angezeigt.

    Die Computersoftware von Roth zeichnete einen Kantenpunkt an einer Pixelstelle auf, wenn der Strahl eine andere Begrenzungsebene als seine Nachbarn schnitt.

    Natürlich kann ein Strahl zahlreiche Ebenen im Weltraum durchqueren, aber nur der der Kamera am nächsten gelegene Oberflächenpunkt war sichtbar.

    Die Kanten sind gezackt, weil die Rechenfähigkeiten der Time-Sharing-DEC PDP-10 nur eine grobe Auflösung zuließen.

    Das Terminal war ein Tektronix-Speicherrohr-Display für Text und Grafiken.

    An dem Display war ein Drucker angebracht, der ein Bild des Displays auf Thermopapier auf einer Rolle druckte.

    Roth erweiterte die Struktur, präsentierte Raycasting im Kontext von Computergrafik und Volumenmodellierung, Später veröffentlichte er seine Arbeit während seiner Arbeit bei GM Research Labs.

    1979, während er als Ingenieur in den Bell Labs arbeitete.

    Whitteds zutiefst rekursive Raytracing-Technik stellte das Rendering als Funktion des Lichttransports und nicht der Bestimmung der Oberflächensichtbarkeit dar.

    Seine Veröffentlichung regte eine Reihe zukünftiger Forschungen an, darunter verteiltes Raytracing und unvoreingenommenes Pfad-Tracing. Es gibt den Rahmen für die Rendering-Gleichung, der es computergenerierten Grafiken ermöglicht hat, realistisch zu sein.

    Vor Jahrzehnten wurde zusätzliche Beleuchtung verwendet, um die globale Beleuchtung in Filmen mit computergenerierten Bildern zu simulieren. Schließlich modifizierte Raytracing-basiertes Rendering dies, indem es einen physikalisch basierten Lichttransport ermöglichte. Monster House (2006) und Cloudy with a Chance of Meatballs (2009) sind Beispiele für frühe Spielfilme, die vollständig mit Path Tracing (2009) gerendert wurden. Optisches Raytracing ist eine Technik zur Erzeugung fotorealistischerer Bilder in 3D-Computergrafikumgebungen als Raycasting oder Scanline-Rendering. Es funktioniert, indem es einer Route von einem fiktiven Auge durch jedes Pixel auf einem virtuellen Bildschirm folgt und die Farbe des durch ihn betrachteten Objekts berechnet.

    Szenen im Raytracing werden von einem Programmierer oder einem Künstler mathematisch beschrieben (normalerweise mit Hilfe von Zwischenwerkzeugen). Szenen können auch Daten von gesammelten Fotos und Modellen enthalten, z. B. digitale Fotografie.

    Jeder Strahl muss in der Regel auf Überschneidung mit einer Teilmenge der Szenenobjekte überprüft werden. Sobald das nächstgelegene Objekt entdeckt wurde, schätzt der Algorithmus das einfallende Licht am Schnittpunkt, überprüft die Materialqualitäten des Objekts und integriert diese Informationen, um die endgültige Farbe des Pixels zu bestimmen. Bestimmte Beleuchtungsalgorithmen und reflektierende oder durchscheinende Materialien erfordern möglicherweise die Neueinspeisung zusätzlicher Strahlen in die Szene.

    Strahlen von der Kamera weg zu senden, anstatt in sie hinein (wie es Licht in der Realität tut), ist um viele Größenordnungen effizienter. Da die überwiegende Mehrheit der Lichtstrahlen von einer bestimmten Lichtquelle das Sichtfeld des Betrachters nicht erreicht, könnte eine Vorwärts-Simulation eine Menge Rechenleistung für Lichtrouten verschwenden, die nie aufgezeichnet werden.

    Folglich wird bei der Raytracing-Verknüpfung davon ausgegangen, dass ein bestimmter Strahl den Ansichtsrahmen schneidet. Der Wert des Pixels wird aktualisiert, wenn der Strahl entweder eine maximale Anzahl von Reflexionen oder eine bestimmte Entfernung erreicht, ohne etwas zu schneiden.

    Basierend auf den uns vorliegenden Informationen (bei der Berechnung verwenden wir Vektornormalisierung und Kreuzprodukt):

    {\displaystyle E\in \mathbb {R^{3}} } Augenposition

    {\displaystyle T\in \mathbb {R^{3}} } Zielposition

    {\displaystyle \theta \in [0,\pi ]} Sichtfeld - für den Menschen können wir davon ausgehen {\displaystyle \approx \pi /2{\text{ rad}}=90^{\circ }}

    {\displaystyle m,k\in \mathbb {N} } Anzahl der quadratischen Pixel in vertikaler und horizontaler Richtung des Ansichtsfensters

    {\displaystyle i,j\in \mathbb {N} ,1\leq i\leq k\land 1\leq j\leq m}

    Anzahl der tatsächlichen Pixel

    {\displaystyle {\vec {v}}\in \mathbb {R^{3}} } vertikaler Vektor, der angibt, wo oben und unten ist, normalerweise {\displaystyle {\vec {v}}=[0,1,0]} (auf dem Bild nicht sichtbar) - Rollkomponente, die die Drehung des Ansichtsfensters um Punkt C bestimmt (wobei die Rotationsachse der ET-Abschnitt ist)

    Viewport schema witch pixels, eye E and target T, viewport center C

    Die Idee ist, die Position jedes Pixelzentrums im Ansichtsfenster zu finden P_{ij} , was es uns ermöglicht, die Linie zu finden, die vom Auge E durch dieses Pixel verläuft, und schließlich den Strahl zu erhalten, der durch Punkt E und Vektor {\displaystyle {\vec {R}}_{ij}=P_{ij}-E} (oder seine Normalisierung) {\displaystyle {\vec {r}}_{ij}} beschrieben wird.

    Zuerst müssen wir die Koordinaten des unteren linken Ansichtsfensterpixels finden {\displaystyle P_{1m}} und das nächste Pixel finden, indem wir eine Verschiebung entlang der Richtungen parallel zum Ansichtsfenster (Vektoren {\displaystyle {\vec {b}}_{n}} i {\displaystyle {\vec {v}}_{n}} ) vornehmen, multipliziert mit der Größe des Pixels.

    Im Folgenden stellen wir Formeln vor, die den Abstand d zwischen dem Auge und dem Ansichtsfenster enthalten.

    Dieser Wert wird jedoch während der Strahlennormalisierung reduziert {\displaystyle {\vec {r}}_{ij}} (Sie können dies also genauso gut akzeptieren d=1 und aus den Berechnungen entfernen).

    Vorberechnungen: Lassen Sie uns Vektoren {\displaystyle {\vec {t}}} und Vektoren {\displaystyle {\vec {b}},{\vec {v}}} , die parallel zum Ansichtsfenster sind, finden und normalisieren (alle auf dem obigen Bild dargestellt)

    {\displaystyle {\vec {t}}=T-E,\qquad {\vec {b}}={\vec {t}}\times {\vec {v}}}{\displaystyle {\vec {t}}_{n}={\frac {\vec {t}}{||{\vec {t}}||}},\qquad {\vec {b}}_{n}={\frac {\vec {b}}{||{\vec {b}}||}},\qquad {\vec {v}}_{n}={\vec {t}}_{n}\times {\vec {b}}_{n}}

    Beachten Sie, dass Viewport Center {\displaystyle C=E+{\vec {t}}_{n}d} , als nächstes berechnen wir Viewportgrößen {\displaystyle h_{x},h_{y}} geteilt durch 2 einschließlich des inversen Seitenverhältnisses {\displaystyle {\frac {m-1}{k-1}}}

    {\displaystyle g_{x}={\frac {h_{x}}{2}}=d\tan {\frac {\theta }{2}},\qquad g_{y}={\frac {h_{y}}{2}}=g_{x}{\frac {m-1}{k-1}}}

    Und dann berechnen wir die Vektoren für die Verschiebung des nächsten Pixels {\displaystyle q_{x},q_{y}} entlang der Richtungen, die parallel zum Ansichtsfenster ( {\displaystyle {\vec {b}},{\vec {v}}} ) und der linken unteren Pixelmitte  verlaufen {\displaystyle p_{1m}}

    {\displaystyle {\vec {q}}_{x}={\frac {2g_{x}}{k-1}}{\vec {b}}_{n},\qquad {\vec {q}}_{y}={\frac {2g_{y}}{m-1}}{\vec {v}}_{n},\qquad {\vec {p}}_{1m}={\vec {t}}_{n}d-g_{x}{\vec {b}}_{n}-g_{y}{\vec {v}}_{n}}

    Berechnungen: note {\displaystyle P_{ij}=E+{\vec {p}}_{ij}} und ray {\displaystyle {\vec {R}}_{ij}=P_{ij}-E={\vec {p}}_{ij}} so

    {\displaystyle {\vec {p}}_{ij}={\vec {p}}_{1m}+{\vec {q}}_{x}(i-1)+{\vec {q}}_{y}(j-1)}{\displaystyle {\vec {r}}_{ij}={\frac {{\vec {R}}_{ij}}{||{\vec {R}}_{ij}||}}={\frac {{\vec {p}}_{ij}}{||{\vec {p}}_{ij}||}}}

    Dieses JavaScript-Projekt hat die obige Formel ausgewertet (funktioniert im Browser).

    In der Natur setzt eine Lichtquelle einen Lichtstrahl frei, der schließlich eine Oberfläche erreicht, die ihren Weg versperrt. Dieser Strahl kann mit einem Strom von Photonen verglichen werden, der auf der gleichen Route fließt. In einem idealen Vakuum ist dieser Strahl gerade (ohne Berücksichtigung relativistischer Effekte). Dieser Lichtstrahl kann eine beliebige Kombination aus Absorption, Reflexion, Brechung und Fluoreszenz erfahren. Eine Oberfläche kann einen Teil des Lichtstrahls absorbieren, was zu einer Verringerung der Intensität des reflektierten und/oder gebrochenen Lichts führt. Darüber hinaus kann es den gesamten oder einen Teil des Lichtstrahls in eine oder mehrere Richtungen reflektieren. Wenn die Oberfläche transparent oder durchscheinend ist, bricht sie eine Komponente des Lichtstrahls, während sie einen Teil (oder das gesamte Spektrum) absorbiert (und möglicherweise die Farbe verändert). In seltenen Fällen kann eine Oberfläche einen Teil des Lichts absorbieren und fluoreszierend bei einem längerwelligen Farbton und in einer zufälligen Richtung wieder emittieren, obwohl dies so ungewöhnlich ist, dass es in den meisten Rendering-Anwendungen ignoriert werden kann. Das gesamte einfallende Licht muss durch Absorption,

    Gefällt Ihnen die Vorschau?
    Seite 1 von 1