Warum wird der Halbvektor bei diffusen BRDF-Fresnel-Berechnungen nicht verwendet?


8

Ich arbeite derzeit mit Earl Hammon Jr.s Präsentation PBR Diffuse Lighting für GGX + Smith Microsurfaces (jetzt als [PBR, p.XYZ] bezeichnet) und habe (unter anderem) Brent Burleys Physically-Based Shading bei Disney (jetzt als [DIS] erwähnt) durchgelesen , S. XYZ], um eine gute diffuse BRDF-Komponente zu erhalten. Ich kann die beiden nicht mit dem Fresnel-Term kombinieren.

Kurze Einführung für Vektoren und Winkel, wie ich sie benutze:

  • ist der Lichtvektorωi
  • ist der Ansichtsvektorωo
  • ist die Normalen der Makrogeometrieωn

  • ist der Winkel zwischen ω i und ω nθiωiωn

  • ist der Winkel zwischen ω o und ω nθoωoωn
  • ist der Winkel zwischen ω n und ω hθhωnωh
  • ist der Winkel zwischen ω i und ω hαhiωiωh
  • ist der Winkel zwischen ω o und ω h (diese Unterscheidung dient der Verdeutlichung)αhoωoωh
  • ist einer der Winkel α h i , α h o , da sie gleich sindαhαhiαho

Da nun der BRDF-Term der Spiegelkomponente ohne den Fresnel-Faktor und r d dementsprechend der Term der diffusen Komponente ohne das Fresnel-Material ist, wird der Fresnel-Faktor als F ( a n g l e ) geschrieben . [PBR, S.105] erwähnt, dass das diffuse Licht zweimal durchgelassen wird, einmal rein und einmal raus. Daher muss die Fresnel-Komponente zweimal multipliziert werden. [PBR, S. 106] fährt fort, dass Fresnels Gesetze symmetrisch sind, was bedeutet, dass das Betreten und Verlassen richtungsunabhängig ist (dh es spielt keine Rolle, dass wir einmal aus der Luft in das Material eintreten und einmal in die Luft gehen). Jetzt würde ich annehmen (für F 1rsrdF(angle)F1ist Fresnel zum Betreten und ist für Fresnel zum Verlassen des Materials) zu verwendenF2

(1F1(αhi))(1F2(αho))

und F 2 sind die gleiche Funktion, und α h i und α h o sind daher der gleiche WinkelF1F2αhiαho

(1F(αh))2

Dies würde zu einem brdf :f

f=F(αh)rs+(1F(αh))2rd

Aber sowohl [PBR, S.113] als auch [DIS, S.14] verwenden

f=F(αh)rs+(1F(θi))(1F(θo))rd

ebenso wie das Originalpapier zur Verwendung dieser Art von Berechnung von Shirely et al. 1997. Ich verstehe das einfach nicht, warum ändern sie sich von den Mikrofacettenwinkeln zu den Makrowinkeln? Die Mikrofacettenwinkel führen zu Energiegesprächen

( 1 - F ) [ 0 , 1 ] ( 1 - F ) 2[ 0 , 1 ] und ( 1 - F ( α h ) ) > = ( 1 - F ( α h ) ) 2 )F[0,1] (1F)[0,1] (1F)2[0,1](1F(αh))>=(1F(αh))2)

es sollte wechselseitig sein

f(θi,θo)=F(αhi)rs+(1F(αhi))(1F(αho)rd=F(αh)rs+(1F(αh))2rd=F(αho)rs+(1F(αho))(1F(αhi))rd=f(θo,θi)

und damit die BRDF-Anforderungen erfüllen. Der Mikrofacettenwinkel wird für den Spiegelbegriff verwendet, daher ist es sinnvoller, zwischen Spiegel- und diffuser Komponente zu interpolieren (wobei die Tatsache von zwei Übertragungen für dieses Argument ignoriert wird). Stattdessen [PBR, S.113] und [DIS, S.113]. 14] setze das in eine Rauheitsberechnung ein und lasse das ziemlich ungeklärt.θh

Zusätzlich zu meiner Verwirrung darüber verwendet in den Erklärungsfolien [PBR, S.187] das Punktprodukt (und damit der α h o -Winkel) und später [PBR, S. 187] . 191] auch das Punktprodukt ω hω i ( α h i ).ωhωoαhoωhωiαhi

Antworten:


5

Ich fand schließlich einen Fehler in meiner Argumentation heraus, den Halbvektor für den diffusen Teil zu verwenden.

tl; dr version:

und α h o sind nicht gleich, diese Annahme gilt nur für den Spiegelteil. Daher ist die Energieeinsparung nicht gegeben.αhiαho

αhi=αho

lange Version:

Das diffuse BRDF (wie das spiegelnde) ist eine Integration über alle möglichen Mikrofacettennormalen. Die verallgemeinerte BRDF-Form lautet:

(1)

f=ΩρmDGcos(αhi)cos(αho)cos(θi)cos(θo)

ρmDG

ωmωhωiωoδ(ωh)Fρm,s ist die spiegelnde spezifische Reaktion von Mikrofacetten für den spiegelnden Teil):

(2)

ρm,s=δ(ωh)F4αhiαho

ωmωmωh

(3)

fs=FDG4cos(θi)cos(θo)

αhi=αho

θmiαhiαho

(4)

θmiαhi=αh=αhoθmoωmωh

ρm,d(1F(αh))

ρm,d

1F

Wenn Sie weiterhin den Halbvektor für die "Fresnelinterpolation" verwenden möchten, müssen Sie normalisieren.

f=F(αh)rs+(1F(αh))rdk

k

rdk=1

rd

θiθo

αhθiθo

Stattdessen können wir den matten Term so modifizieren, dass er eine einfache Annäherung darstellt, die das wichtige qualitative Winkelverhalten [...] erfasst.

[SHI, S.46]

Diskussion darüber, warum dies so schwer herauszufinden ist

Nun zitierten [DIS, S.14] und [PBR, S.100, 184] [SHI] und [ASH] dazu, wobei [ASH] [SHI] verwendet, so dass es auf das Modell des letzteren hinausläuft. Und da [DIS] und [PBR] nicht-wissenschaftliche (wenn auch ziemlich gut durchdachte) Veröffentlichungen sind, kann ich ihnen nicht allzu viel vorwerfen, aber eine bessere Art, Papiere oder eine zusätzliche Erklärung zu zitieren, hätte vielleicht geholfen und gespart Ich habe ungefähr 2 Wochen lang darüber nachgedacht, gelesen und fast eine Zeitung darüber begonnen, warum alle (angeblich) falsch liegen.

Darüber hinaus erklärt keiner von ihnen wirklich ihre diffusen Annäherungen. [PBR, S.193] erwähnt nur das Ausprobieren verschiedener Funktionen, bis er eine sah, die ihm gefiel.

F(αh)1F(αh)F(θi)1F(αh)F(αh)1F(αh)F(θi)

Literatur

  • [ASH] Ein anisotropes Phong-BRDF-Modell im Journal of Graphics Tools Vol. 5, No. 2, Michael Ashikhmin und Peter Shirley, 2000
  • [SCH] Ein unempfindliches BRDF-Modell für physikalisch basiertes Rendering im Computer Graphics Forum Vol. 3, Christophe Schlick, 1994
  • [SHI] Eine Bewertung von Lichtreflexionsmodellen durch Praktiker in der Fünften Pazifik-Konferenz über Computergrafik und -anwendungen, 1997. Proceedings, Peter Shirley, Helen Hu, Brian Smits und Eric Lafortune, 1997
  • [DIS] Physikalisch basierte Schattierung bei Disney, SIGGRAPH 2012 Kurs: Physikalisch basierte Schattierung in der Film- und Spieleproduktion, Brent Burley, 2012
  • [HEI] Verständnis der Maskierungs-Schatten-Funktion in BRDFs auf Mikrofacettenbasis, in Journal of Computer Graphics Techniques Vol. 3, No. 2, Eric Heitz, 2014
  • [PBR] Diffuse PBR-Beleuchtung für GGX + Smith-Mikrooberflächen, GDC2017, Earl Hammon Jr., 2017

1

Wir gehen dieses Papier tatsächlich für unser eigenes GGX BRDF Metallic & Edge_Tint-Modell durch und haben ein entscheidendes Problem entdeckt.

Hammon verwendet immer noch die Fresnel-Schlick-Näherung für seine Mikrofacetten-Feldstrahlspur, die in Wirklichkeit nur für Dielektrika (und Leiter, aber mit einem Hack) funktioniert.

F0=0

https://github.com/Crisspl/IrrlichtBAW/commit/914b50d7238fc4a30f23fc2a4ea570e467f4ab75#r34031272

F0<0.02

(1F(θi))(1F(θo))

smoothroughmultiF0<0.02

roughα=1F0=0

Ich hoffe, wir könnten E. Hammon eine E-Mail schreiben und sehen, ob die Simulation für den vollständigen Fresnel und den erweiterten IoR (F0) -Bereich von 1,0 (0,0) einschließlich erneut ausgeführt werden kann.

EDIT: Seb. Lagarde hat auch die gleichen Bedenken wie ich bezüglich des verwendeten Fresnels http://openproblems.realtimerendering.com/s2017/02-PhysicallyBasedMaterialWhereAreWe.pdf

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.