Ray Generation Shader
traceRayEXT(...)
payload
enthält Informationen des Strahlspayload
ausgewertetIntersection Shader
payload
schreibenAny-Hit Shader
Closest-Hit Shader
payload
manipulierenMiss Shader
payload
manipulieren (z.B. Setzen der Hintergrundfarbe)BLAS sind entweder Dreiecksnetze oder Menge an AABBs (axis aligned bounding boxes)
BLAS hat gl_InstanceID
(gesamtes Objekt)
gl_PrimitiveID
(konkretes Dreieck bzw. einzelte AABB)jedes BLAS hat Transformation von Welt- in Objektkoordinatensystem (bzw. umgekehrt)
Versenden von mehreren Strahlen pro Pixel
gleichverteilte Zufälligkeit der Unterposition innerhalb des Pixels
Mittelung der Einflüsse der einzelnen Strahlen
Schnittpunkt kann auch im Objektkoordinatensystem berechnet werden (effizienter)
t
bleibt gleich bei parametrisiertem Strahl in Welt- und Objektkoordinatensystemt
= Länge von Ursprung des Strahls zu Ein-/Austrittsschnittpunkt mit ObjektWichtig: Bei Transformationen die Skalierungen enthalten, funktioniert der Ansatz nur, weil transformierter Richtungsvektor von der Ray Tracing Pipeline nicht auf die Länge 1 normiert wird.
Daher gl_ObjectRayDirectionEXT
nicht im Intersection Shader normieren!
(Strahl =
Slab-Methode: Slab (= Intervall in eine Raumrichtung) wird von zwei parallelen Ebenen begrenzt
es kann geprüft werden, ob und wenn ja, in welchem Slab ein Schnittpunkt aufgetreten ist
Strahlgleichung:
Prüfung, ob Schnittpunkt Strahl mit Dreiecks-Ebene
Dreieck wird durch Ebenengleichung dargestellt:
berechnet die reflektierte Strahldichte
Dreidimensionales Gegenstück zum 2D-Winkel
Raumwinkel
Bei konstanter Größe nimmt der Raumwinkel einer Fläche quadratisch mit dem Abstand vom Zentrum ab
Einheit Steradiant (sr)
Strahlungsfluss
Einheit: Watt
Strahlstärke
Wird benötigt, wenn Lichtquelle beispielsweise nicht in alle Richtungen gleich stark abstrahlt
Einheit: Watt pro Steradiant
Bestrahlungsstärke
Strahlungsfluss kommt aus allen Richtungen der Hemisphäre über der Fläche
Einheit Watt pro Quadratmeter
Strahldichte
Entspricht beobachteter Helligkeit
Einheit: Watt pro Steradiant pro Quadratmeter
Beschreibt den winkelabhängigen spektralen Reflexionsfaktor einer Oberfläche durch das Verhältnis von reflektierter Strahldichte
4-dimensionale Funktion, welche die Reflexionseigenschaften einer Fläche sehr genau beschreiben
Reflexionseigenschaften sind in Materialdatenbanken (4D-Tabellen) abgelegt
Da 4D-Tabellen viel Speicher benötigen und Materialien sich nicht direkt editieren lassen
Ziel: Effizientes, optisch korrektes Approximieren der Rendering Gleichung
Ansatz: Weiterverfolgung nur eines zufälligen Strahls
Erste Möglichkeit: Approximation mittels Riemann-Summe
Durch Importance Sampling Theorie kann jedes Integral auch durch eine Summe approximiert werden
benutzt beliebige Wahrscheinlichkeitsdichtefunktion (WDF), welche die Bedingung
beste WDF wäre, wenn diese der Form der Funktion folgt
Inversionsmethode
Ziel: Möglichst gutes Ergebnis nach wenig Abtastwerten
Ermöglicht die Erzeugung von Zufallszahlen nach WDF (nicht linear) aus gleichverteilten Zufallszahlen
Problem bisherigen Ansatzes
Lösung: Aufteilen der Rendering-Gleichung in direkten und indirekten Anteil
direkter Anteil: direkter Beitrag der Lichtquelle (Überprüfung mittels Schattenstrahl)
indirekter Anteil: Weiterverfolgen zufälliger Richtung im Halbraum
Materialen werden beschrieben durch eine Kombination von transmittivem, reflektivem und streuendem (scattering) Anteil
Koponenten der BSRF:
zusammengesetzt aus diffusem (konsant)
und spekularem Anteil
Fresnel-Reflexionsgrad
Verteilung der Microfacetten (Rauheit)
Geometriefaktor (Selbstbeschattung)
reflexiver und transmittiever Anteil hängen von Einfallswinkel und Brechungsindex des Materials ab
Refraktion: Brechung an Oberfläche
Berechungsmöglichkeiten: Cook Torrance oder Schlick (Approximation, schneller)
Umbegungsbild wird in Grauwertbild
Parametrisierung in Texturkoordinaten:
Verteilungsfunktion kann nicht invertiert werden, da nicht nach Zufallsvariable aufgelöst werden kann, daher:
Problem: Da BRDF druch WDF geteilt wird, entstehen extrem hohe Sample-Werte, wo WDF sehr gering
grobes Prinzip: Nutzung bisherigen Durchschnitts und Erwartungswerten zur Entscheidung der Sampling-Methode
Ziel: Verminderung von Noise durch Kombination verschiedener Sampling-Verfahren
nur BRDF-Sampling:
nur Light-Sampling