PBR ve SSR arasındaki fark nedir?


11

Oyun geliştirmede çok yeniyim ve Ekran Alanı Yansıması ile Fiziksel Tabanlı Görüntü Oluşturma arasındaki farkı anlamaya çalışıyorum.

PBR hakkında okudum ve anladığım kadarıyla, ışığın gerçek hayatta nasıl yansıdığını taklit etmeye çalışıyor, bu da genellikle malzemenin türüne bağlı olarak speküler ve yaygın olan iki bileşene ayrılıyor.

SSR'ye gelince, yanılıyorsam pls beni düzeltin, yansımalar bir yüzeye nasıl bakar.

SSR anlayışım doğruysa, aynı şekilde değiller mi? Yani, yansımaların yüzey pürüzlülüğüne ve benzerlerine bağlı bir yüzey üzerinde görünme şekli bu değildir. Bu, ne kadar ışığın aynen yansıtıldığını ve ne kadarın dağınık şekilde yansıtıldığını etkileyecektir. Yine, lütfen yanlış yaptığım her yerde beni düzeltin.

Yanıtlar:


17

Fiziksel Tabanlı Görüntü Oluşturma

"Işığın gerçek hayatta nasıl yansıdığını taklit etmeye çalışır, yani malzemenin türüne bağlı olarak genellikle speküler ve dağınık olmak üzere iki bileşene ayrılır."

Ancak uzun zamandır oyunlarda ve bilgisayar grafiklerinde speküler ve dağınık materyaller modelliyoruz. İşin püf noktası, bunları tamamen bağımsız olarak ele alıyorduk - speküaliteyi değiştirmek dağınıklığı değiştirmedi:

Oyunlarda yaygın olarak kullanılan Phong gölgeleme örneği

Bu, Blender wiki'sinden Phong gölgeleme örneğidir . Speküler yoğunluk ve speküler sertlik olmak üzere iki parametre sunduğunu görebilirsiniz ve bu parametreler sadece yansımanın beyazımsı kısmını değiştirir. Mavi dağınık yansıma hiç değişmez.

Oyunların bunu nasıl kullanacağı bir sanatçıya, "doğru görünene" kadar her malzeme için bu değerleri elle ayarlamakla görevlendirilecek. "Aynasal sertlik" tam olarak ölçebildiğimiz malzemelerin gerçek bir fiziksel özelliği olmadığından, gözle yapılması gerekiyordu.

Bu yöntem biraz kırılgandır. Aydınlatmayı değiştirdiğinizde (örneğin, farklı alanlarda hareket eden veya günün ve hava durumunun olduğu bir ortamda) dinamik bir nesne), görüntüleme koşulları aynı olmadığından hafifçe yanlış - çok parlak veya çok karanlık - görünebilir speküler parametreleri ayarlandı.

Malzeme açıklamalarımızı gerçek yüzeylerin daha objektif, ölçülebilir özelliklerine topraklama girişimi olan Fiziksel Tabanlı İşleme girin. En belirgin özelliklerden biri enerjinin korunmasıdır - daha pürüzlü bir yüzey ışığı dağınık bir şekilde dağıtır ve daha pürüzsüz / daha metalik bir yüzey ışığı daha doğrudan yansıtır, ancak her ikisinin de çizdiği ışık havuzudur. Öyleyse, diğer şeyler eşit olduğundan, daha parlak bir malzeme yaptığımız için, dağınık bileşen daha koyu hale gelmelidir:

Sabit bir albedo ile artan yansıtıcılık örneği

Bu örnek, Syntac_ tarafından orijinal olarak paylaşılan PBR'yi açıklayan bir Marmoset makalesinden alınmıştır.

Fiziksel tabanlı renderlemede enerji tasarrufundan daha fazlası vardır, ancak bu muhtemelen fiziksel tabanlı bir sistemle çalıştığınızın en açık belirtisidir.

Yansıtma modellerini, malzemelerin gerçek hayatta nasıl çalıştığına benzer tutarak, ahşap, beton veya deri gibi gerçek dünyadaki bir malzemenin çok çeşitli aydınlatma koşullarında gerçek görünmesini sağlamak için geçiştirme faktörlerine ve sanatçının öznelliğine duyulan ihtiyacı azaltıyoruz .

Başka bir cevabın bunu sahnedeki diğer objelerden seken ışıktan dolaylı aydınlatma olarak tarif ettiğini unutmayın. Fiziksel tabanlı modeller kullanan birçok aydınlatma sistemi de bunu modellemek için araçlar içermekle birlikte, genellikle Global Aydınlatma'nın ayrı bir adı altında bilinir . Bu görüntüdeki dağınık başın bir tarafının yeşil görünmesini sağlayan efekt, yeşil duvardan sıçrayan ışıkla aydınlatılıyor:

Tipik bir küresel aydınlatma test sahnesi örneği

Global aydınlatma ile ilgili bu makaledeki görüntü

Ekran Alanı Yansıma

PBR malzemenin ışığı nasıl yansıttığını modellemeye çalışırken, Ekran Alanı Yansıması yansıtılanları yakalamaya çalışır - özellikle parlak, ayna benzeri bir yüzey için yansımada ne görmeliyim?

Yine bu, oyunların daha önce nasıl yaptığının aksine muhtemelen anlaşılması en kolay olan nispeten yeni bir oluşturma tekniğidir:

Ters Çevrilmiş Görüntü Oluşturma - su düzlemleri veya düz aynalar için ortaktır, yansıyan tüm geometriyi yansıtıcı yüzeyin düzlemi boyunca ikinci kez yansıtıldık. Bu, yüksek kaliteli yansımalar verir (tüm ayrıntılar, yüzeyle temas eden nesneler yansımalarıyla aynı hizadadır) ancak yalnızca düz yüzeyler için doğru çalışır. Bir yüzey ne kadar dalgalı veya engebeli olursa, bu gerçek yansımalar gibi o kadar az davranır, bu da karmaşık şekillerde bozulması veya bulanıklaşması gerekir.

Küp Haritalar - merkez noktalarından yayılan herhangi bir görüntü ışınının göreceği rengi depolayalım. Sahnedeki seçilen noktalardan küp haritalarını dinamik olarak oluşturarak, rasgele kavisli herhangi bir yüzeyden hangi rengin yansıtılması gerektiğini tahmin edebiliriz. Buradaki sorun, küp haritasının sadece merkez noktasında tamamen doğru olmasıdır - yansımayı simüle ettiğimiz nokta sahnenin etrafında hareket ettiği için, küp haritasında bulunmayan bazı paralaks görmelidir. Bu, nesnelerin yansımalarıyla hizalanma eğiliminde olmadığı anlamına gelir.

Screen Space yansıması, oluşturulan sahnenin kendisini yansıma bilgisi kaynağı olarak kullanarak bu sınırlamaları gidermeye çalışır. Bu ışın-yürüyüşleri o hale sahnedeki şey kesişecektir kadar sahnenin derinliğini kullanarak, yansıyan görünümü ray.

Yan görünüm diyagramıyla ekran alanı yansımalarını açıklayan slayt

İşte bir EA DICE sunumundan Frostbite motorundaki yansımalara yaklaşımları hakkında bir slayt .

Bu, (bazı akıllı algoritmik çalışmalarla), oyundaki gelişigüzel yüzeylerden makul şekilde ışın izlemesine benzer doğrulukla yansımalar elde edebilir , yüzeyin yansıtılan kısmı göründüğü sürece temas, bozulma ve bulanıklaştırmadaki yüzeylerin doğru hizalanmasına sahip olabiliriz . -ekran (ekran dışı veya başka bir şey tarafından tıkanmamış). Yansımanın ışınlama ile doğru bir şekilde belirlenemediği durumlarda, genellikle yakındaki örnekler veya kameranın görüşünün yanındaki / arkasındaki sahneyi temsil eden bir yedek cubemap kullanılarak tahmin edilir.

Ekran yansıması kullanan örnek proje

Bu ekran alanı yansıması örneğinde görebilirsiniz , izlenim çok ikna edici olabilir, ancak küçük hatalar fark edilebilir (işlenen çerçevede görünmeyen küplerin alt taraflarının yansımasına bakın ve bu yüzden bitişik pikselleri lekeleyin ve tekrarlayın, veya sağ yeşil perdenin çiçek saksısının yanındaki ve ekranın alt kısmındaki, raymarching'in doğru yansıyan pikselleri bulamadığı delikler). Ara sıra hatanın daha az görünür olmasına yardımcı olmak için bu tekniği orta derecede parlak / hafif pürüzlü yüzeyler için kullanmak yaygındır.


Cevabınız için çok teşekkür ederim. Bu tam olarak bilmek istediğim şeydi.
Kumaresan Sandran


1

Gerçekten ilgili değiller.

Marmoset'in bu belgesi , PBR'yi çok fazla matematik çağırmadan iyi açıklamaktadır.

Ekran alanı yansımaları, gerçek zamanlı yansımalar oluşturmak için kullanılan işlem sonrası bir ekran alanı tekniğidir. Genellikle her kareyi küp eşleme yapmaktan çok daha ucuzdur, ancak daha az doğru görünebilir ve ekran dışı nesnelerin yansıtılmasına izin vermez.


1
Bağlantıyı güncellemek için buraya geldim, 2018'den ziyaret eden herkes için ... marmoset.co/posts/basic-theory-of-physically-based-rendering
sws

@sws güncellenen alkış.
Syntac_
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.