Fiziksel tabanlı bir BRDF'de, Fresnel katsayısını hesaplamak için hangi vektör kullanılmalıdır?


11

Fresnel katsayısının iyi bilinen Schlick yaklaşımı eşitliği verir:

F=F0+(1F0)(1cos(θ))5

Ve , yüzey normal vektörünün ve görünüm vektörünün nokta ürününe eşittir.cos(θ)

Gerçek yüzey normal veya yarım vektör kullanmamız gerektiği halde hala net değil . Fiziksel tabanlı bir BRDF'de hangisi kullanılmalı ve neden?HNH

Dahası, anladığım kadarıyla, Fresnel katsayısı, belirli bir ışının yansıma veya kırılma olasılığını verir. Bu yüzden, neden tüm yarıküredeki integrali yaklaşık olarak tahmin etmesi gereken bir BRDF'de bu formülü kullanabileceğimizi görmekte sorun yaşıyorum.

Bu gözlem bana geleceği yer olduğunu düşündürme eğilimindedir , ancak normal bir temsili Fresnel'in tüm gerçek normallerin Fresnel'i entegre etmekle eşdeğer olduğu açık değildir.H

Yanıtlar:


9

Yaklaşmayı elde ettikleri Schlick'in 1994 tarihli "Fiziksel Tabanlı Oluşturma için Ucuz Bir Model" makalesinde formül:

Fλ(u)=fλ+(1fλ)(1u)5

Nerede

Vektörlerin tanımı

Dolayısıyla, ilk sorunuza cevap vermek için , görünüm vektörü ile yarım vektör arasındaki açıyı ifade eder. Bir dakika boyunca yüzeyin mükemmel bir ayna olduğunu düşünün. Yani: Bu durumda: θ

Vreflect(V)
NH

Mikrofaset bazlı BRDF'ler için, h_ terimi, doğru yönlendirilmiş mikrofaset normallerinin istatistiksel yüzdesini ifade eder . Aka, gelen ışığın yüzde kaçı giden yönde sıçrayacak.D(hr)H

Neden Fresnel'i bir BRDF'de kullandığımıza gelince, bir BRDF'nin tek başına tam BSDF'nin sadece bir kısmı olmasıyla ilgilidir. Bir BRDF ışığın yansıyan kısmını zayıflatır ve BTDF kırılanları azaltır. Yansıtılan ve kırılan ışığın miktarını hesaplamak için Fresnel'i kullanırız, böylece BRDF ve BTDF ile düzgün bir şekilde zayıflatabiliriz.

BSDF=BRDF+BTDF
Lo(p,ωo)=Le(p,ωo) + ΩBSDFLi(p,ωi)|cosθi|dωi=Le(p,ωo) + ΩBRDFLi, reflected(p,ωi)|cosθi|dωi + ΩBTDFLi, refracted(p,ωi)|cosθi|dωi

Bu nedenle, özet olarak, giden yönde sıçrayan ışığın yüzdesini almak için yi ve kalan ışığın yüzde kaçının yansıtacağını / kırılacağını bulmak için kullanırız. Her ikisi de kullanır , çünkü bu ve arasında ayna yansımasına izin veren yüzey yönüdür.DFHVV


Oh, bunun gazetede zaten bir sonuç olduğunu tamamen özlemiştim. Bu kesinlikle onu temizler. :) Yine de BRDF içine nasıl uyduğunu daha iyi kavramak için tekrar okumam gerekecek.
Julien Guertault

8

Fresnel katsayısı değil kullanılarak değerlendirilmelidir .NHN

Sen yazdın,

Neden bu yarımı tüm yarımküredeki integrali yaklaşık olarak tahmin etmesi gereken bir BRDF'de kullanabileceğimizi görmekte sorun yaşıyorum.

Değil. BRDF kendi içinde tüm yarımküredeki integrali yaklaşık olarak yansıtmaz. Oluşturma denklemi bunu yapar: gelen tüm ışık yönlerine entegre edersiniz, ancak integralin içindeki BRDF her değerlendirildiğinde, gelen ve giden ışın yönlerinin belirli bir seçimi içindir .

Mikrofaset BRDF'ler için, olağan basitleştirici varsayım, bireysel mikrofasetlerin mükemmel speküler reflektörler olduğudur. Daha sonra, değerlendirilecek ve göz önüne alındığında, katkıda bulunabilecek tek mikrofacet boyunca hizalananlardır , çünkü gelen ışıktan gelen ışığı yansıtabilmelerinin tek yolu budur. giden ışın.V H = normalleştirmek ( L + V )LVH=normalize(L+V)

BRDF normal dağılım fonksiyonu ve görüş faktörü birlikte boyunca yönlendirilmiş microfacets yoğunluğunu yaklaşık hem görebilir ve yönleri. Fresnel faktörü bu mikrofasetler için değerlendirilir , bu nedenle kullanım için doğru açı ve veya eşdeğer ve arasındaki açıdır .L V L H V HHLVLHVH

Bu argümanın değiştirildiği birkaç durum vardır. Birincisi, mikrofacet modelinin mükemmel spekülasyondan başka bir şey varsa. Örneğin, Oren-Nayar BRDF Lambertian mikro yüzlerini varsayar. Bu durumda BRDF, ışığı den dağıtabilen tüm olası mikrofaset yönleri üzerinde bir tür integral içermelidir . O zaman BRDF'nin standart bir Fresnel faktörü olmayacak; Fresnel faktörünün normal yarımküre üzerine entegre edilmesinin sonucuna yaklaşan başka bir formüle sahip olacaktır.VLV

Gerçek zamanlı grafiklerde ortaya çıkan diğer bir durum, bir çevre haritasının yansımasıdır. Gerçekten doğru olmak için, BRDF ile çarpılan çevre haritasını tüm gelen ışık yönlerine entegre etmeliyiz, ancak pratikte genellikle baskın yansıma vektörü ve ardından ve (eşdeğer ve ) arasındaki açıya ve yüzey pürüzlülüğüne bağlı olan yaklaşık bir Fresnel formülü ile çarpın . Bu yaklaşık bir yaklaşımdır, ancak gerçek zamanlı kullanım için genellikle yeterince iyidir.R N V NR=reflect(V,N)RNVN

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.