Fotogerçekçi 3D oluşturma bilimi (bölüm 4). Bilgisayar grafiklerinde yansıma türleri, BRDF
Hazır olun, uzun bir bölüm olsa da bence en ilginç bölüm.
Şimdi yansıma çeşitleri hakkında.
Yüzey kalitesine göre yansımalar bölünüyor:
- Aynasal yansıma (Specular reflections) – parlak, çok düzgün yüzeylere özgü olan. Bu – bir yüzey efektidir. Specular yunan sözcüğü olan “ayna” kelimesinin köküdür.
- Diffüz (yaygın, bulanık) yansıma (Diffuse reflections) – pürüzlü yüzeylere özgü. Bu yüzeyaltı effekttir.
- Parlak yansıma (Glossy reflections) – aynasal ve diffuse yansımaların ortasında olan bir şey.
Birde yalnız metallere özgü bir aynasal yansıma türü – boyalı yansıma var.
İletkenlerin (metaller – elektriği tam olarak ileten maddeler) sadece yüzey yansımaları var (yüzey durumuna göre (cila derecesine göre) mat veya aynasal ), yüzeyaltı yansımaları ise yok.
Diffüz yansıma yalıtkanlara (elektriği iletmeyen maddeler) özgü ve bu yüzden yüzey, rengin yayınık özelliğine sahip.
Işığı tamamen emen (simsiyah), yansıtan veya geçiren bir yüzey yok. Her yüzey, aynı zamanda, belirli bir derecede yansıtıyor, geçiriyor ve emiyor.
Yansıma
Yansıma – fotonların yüzeyden sıçrama durumudur. Ve bu onun yüzey mikrostüktürünün sayesinde değil, atom yapısının sayesinde.
Yalıtkanlar onlara saçan ışık renginin aynısını yansıtıyorlar. Yani, yansımalar hep “beyaz”, renksiz ve temiz.
İletkenler (metaller) kendi yansımalarını boyuyorlar.
Ama nadir istisnalar var, örneğin atlas.
Metallerin, yansımalarına boyadığı renk hem onun türünden, hem de ışığın yüzeyden yansıma açısına bağlı. Mesela, altın renkli yüzeye büyük bir açıyla düşen ışık (yüzeyden kayarak), dikey düşen ışık kadar sarıya boyamıyor.
Aynalı yansıma olabilir:
- İzotropik (isotropic)
- Anizotropik (anisotropic)
Anizotropik yansımalar, düzenli uzamamış izotropik yansımaların aksine, derinleşmeğe dikey yönde uzamış.Yalnız sadece ışık yansımaları değil, çevredeki nesnelerin de yansıması uzamış.
Yansıyan ışığın rengine (diffüz kısmı) önemli katkıyı alt yüzey effektleri sağlarlar. Yüzey efektleri ise, yüzeyin pürüzlük derecesine bağlı: aynalı yansımalardan diffüz (Lambert) yansımalara kadar.
BRDF
Bidirectional reflectance distribution function (BRDF) – çift yönlü yansımanın dağılım fonksiyonu (yüzey yansıma)ışığın farklı açıdan düşmesine bağlı olarak, ışığın yansıdığını veya yüzey tarafından emildiğini gösteriyor.
Üç Tür BRDF vardır:
Basitleşmiş BRDF (ışın izleme hariç (raytracing – ışın yolunun yapımı)).
Hibrid BRDF (basitleşmiş + raytracing).
Ölçülen BRDF (karmaşık, gerçek ölçümlere dayalı).
Eskiden Hibrid BRDF daha popülerdi, ölçülen BRDF` se henüz mevcut değildi (basit kullanıcı için). Vray render geliştirmecilerinin ölçülen BRDF`in çalışma prototipini oluşturmalarına rağmen, henüz ölçülen verilerin kütüphanesi yok.
Hibrid BRDF, basitleşmişten farklı olarak gerçekçi sonuç sağlıyor, ölçülen BRDF`se daha da gerçekçi resim oluştuyor.
Bu 2007 ci yılın videosu:
Şu anda bu tür teknolojiler özel efektleri olan neredeyse tüm modern filmlerde kullanılıyor: Spider Man, King Kong, Henkok, Benjamin Button’un Tuhaf Hikayesi ve tabii ki Avatar. Tüm bu filmlerde Light Stage‘ in farklı sürümlerde donanım ve yazılımı kullanıldı.
Basitleşmiş BRDF.
Basitleşmiş BRDF renk (diffuse) ve yansıma üzerinde kurulmuş.
BG gelişiminin erken dönemlerinde ışın izlemesi henüz yoktu, bu nedenle bu yansımaları ayarlamak da mümkün değildi. Böylece sahte ışık akisleri oluşma fikri yarandı. Ana şimdi daha çok insan sahte CG akisleri yerine, izlenebilen yansıma kullanmağa çalışıyor.
3D redaktörlere bu olay iyi yansımış: her modern görselleştirme robotu kendi gerçek yansıması olan (çünkü modern render hakikaten izlenebilen yansımayı görüntüleyebiliyor) adeta çok sayıda ışık (area light) kaynaklarına sahip. Ancak eski ışık kaynaklarının gerçek yansımaları yerine sahte aynalı akisleri var. Ama buna rağmen sahte akisler hâlâ faydalı.
Lambert ve Oren-Nayar – renk (diffuse) için en yaygın basitleşmiş BRDF modelleridir.
Lambert (sadece renk).
Lambert – söylenilmesi mümkünse normal diffüz (dağınık) ışık, bilimsel şekilde ise yüzeyaltı dağılımdır. Genelde diğer modeller âdeta Lambert`in üzerine eklenen sahte aynasal akislerle (Blinn, Phong) çalışıyorlar.
Lambert BRDF`in yüzeyaltı dağılımını şu şekilde simüle eder: ışık malzemeye nüfus ederek eşit dağılır ve dışarıya çıkarak kamera objektifine düşer. Ama siz malzemenin içerisine giren (bu durumda o defalarca atomlardan yansır) ve dışarıya çıkan ışığın, yüzeyden aynasal yansıyan ışık gibi davranamayacağını anlamalısınız. Bu yüzden BRDF’ in Lambert modeli ortamı yansıtmıyor.
Diğer yandan, yüzey yansıması hiçbir zaman yüzeyaltı gibi homojen olmayacak, bu yüzden yüzey yansıması her zaman akis bölgelerinde nesne üzerinde daha çok ışık yığacak ki bu da ışık kaynağına benzeyecektir. Sadece, yüzey yansıması ışık kaynağının direkt yansımasıdır ve o dağınık (bulanık) olan yüzeyaltı yansımadan daha nettir.
Oren – Nayar (pürüzlü yüzeylerin rengi).
“Renk” için “pürüzlü” işlev mevcut (yüzeyaltı yansıma). O BRDF Oren-Nayar modeli adlanıyor. Bu model yüzey pürüzlüğünü kontrol etmek için bir seçeneğe sahip. Bu seçenek, “pürüzlü” (tozlu) yüzeyin özelliği olan ışığın ne kadar ışık kaynağı tarafa geri yansıyacağını belirler. Pürüzlü yüzey ne kadar büyük olursa, diffüz yansıma o kadar az net oluyor.
Pürüzlük gerçekten de pürüzlüdür anlamına gelmez ( mesela, zımpara kâğıdı gibi). Söz konusu galip ihtimalle, yüzey üzerindeki ufak çıkıntılar (mikro strüktür). Bu nedenle deri ve kadifenin yüzeyi, deri gözenekleri ve kadife elyafı gibi küçücük detayların mevcudiyeti yüzünden pürüzlü sayılır.
Örneğin, plastik yüzey o kadar da pürüzlü değildir. Lastik, taş ve pas ise deri veya kadifeden daha kaba (pürüzlü).
Pürüzlü yüzey ışığı her yöne saçar, ama tam düzensiz. Bu yüzden Oren-Nayar – gerçeğin basitleşmiş tasviridir.
Blinn, Phong ve Ward – akisler (specular) için en yaygın basitleşmiş BRDF modelleridir. Lambert + Blinn veya Phong`un modeli üzerinde yapılmış malzeme daha başarılı olur.
Blinn (ışık kayan açıdan gelirse, ışık aksi az çarpıtmalı olur).
Blinn – Phong`un mükemmelleştirilmiş sürümü. Blinn modelinin akisleri Phong modelinin akislerine nispeten farklı ışık açılarında biçimi daha iyi tutuyorlar.
Phong (ışık aksi)
Blin`in modeline göre akislerin biçimi değişmediği hâlde, Phong`un modeli ışık açıları altında daha uzatılmış akisler oluşturur.
Ward-anisotropic (veya sadece anizotropik ışık akisleri).
Ward – farklı yönlerde farklı pürüzlüğü belirtmeğe yardım eden, mikro yüzlü yüzeylerin (Cook-Torrance olduğu gibi) üzerinde oluşan aynasal akisler için ana modeldir, anizotropi buradan geliyor. Ward – anizotrop BRDF`in mucidi şerefinedir.
Cook – Torrance (metaller).
Cook-Torrance`in modeli – mikro yüzlü yüzeyler üzerindeki aynasal akisler için harika bir modeldir. Siz farklı şekilleri elde etmek için anizotrop dahi, değişik dağılım işlevleri kullanabilirsiniz.
Lafortune – her bir katmanın yüzey pürüzlülüğü, aynı zamanda da her katmanda akisin konumunu “belirtmeye” izin veren çok katmanlı modeldir (yani, sanki üç Phong birlikte). Matematiksel olarak çakışan verileri yerleştirerek, gerçek malzemelerin çok gerçek görüntülerini elde edebilirsiniz.
BRDF`in diğer çeşitleri de mevcut, ama onlar o kadar da yaygın değil. Bu nedenle bilgi edinmek için renderinizin rehberini kullabilirsiniz.
Ama dikkatli olun: her bir render yukarıda belirtilen gölgelendirme türlerinin kendi belirtilerine sahip. Örneğin, 3ds Max`te Oren-Nayar-Blinn mevcut – Oren-Nayar shader`i + Blin modeli üzerinde akistir. Lambert ise – genelde aynı Blinn gibidir, ama akissiz. Bu yüzden her şey 3D yazılıma bağlı.
İzlenebilen yansımaları BRDF `in Phong ve Blinn akis modelinden farklı olduğunu sanmamak önemli. Bu yöntemlerin her ikisi aynı süreci taklit ediyor- yüzey üzerinden aynasal yansımalar- onlar sadece farklı yöntemlerle hesaplanıyorlar. Ama yine de Phong veya Blinn BRDF`ine geçtiğinizde, izlenebilir yansımalar farklı olacaktır.
“Ne iyi görünür” prensibini kullanmak – tabii ki doğru. Ama bu veya diğer BRDF`in çalışma prensibini anlamak, düşündüğünüz malzemeyi edinmek için yapmamanız gereken şeyleri bilmeniz çok önemli.
Bilgisayarların gücünün artmasıyla doğru fiziksel görselleşme de artacak. Malzeme (shading) oluşturmanın prensiplerinin anlamanız ise görüntüleri gerçekçi yapmağa size yardım edecek.
Ölçülen BRDF
Gerçek dünyada yüzey mikro strüktürü çok zor, yansımayı tasvir etmekte kullanılan modeller ise çok basit, üstelik kesin değiller. Gerçek hayatta her yüzey kendi mikro strüktürüne sahip ( ama bazı renderler, örneğin, VRay, artık BRDF verilerini girmeye izin veriyor).
Gerçek hayatta mikro strüktür düzeyinde neler oluyor?
Yüzey mikro strüktürünü gürültü haritaları sayesinde modellenen bir dağ kitlesi gibi düşünün (mesela, Bryce, Terragen vb. programlarındaki gibi). BRDF`in pürüzlük seçeneğinin çoğalmasıyla, bu dağ zirvelerinin “yüksekliği” artar. Şimdiyse, dağ kitlesinin mükemmel ayna olan paralelyüzlerden modellendiğini düşünelim. Güneş parlıyor, bizse uçakta uçuyor ve kameramızın merceğinden aşağıya, bir kilometrekareye kadar dağ alanına bakıyoruz. Böylece, BRDF`in yansıma modeli, ağırlıklı olarak güneş ışığının ne kadar böyle ayna yüzlerini kameramıza yansıttığını hesaplar.
Bu konuyu iyice düşünsek, bazı aynaların diğer zirvelerle gölgelendiklerini ve bu yüzden ışık yansımadıklarını fark ederiz. Aynı şekilde bazı aynalar da zirveler ardında saklanacaklar. Bu efektler literatürde gölgeleme (shadowing) ve maskeleme (masking) olarak bilinmektedir.
Hatta ölçülen BRDF tekrarlanan yansımayı dikkate almaz – ışın ilk önce bir yüzden yansır, sonra diğeriyle çarpışır ve yalnız bundan sonra kameranın merceği içine düşer.
Gölgeleme ve maskeleme – Cook-Torrance, Ward ve A&S gibi mikro yüzlerle yüzeyler için BRDF`in cephaneliğinde olan iki efekttir. Onlar zirve efektlerini yüzeyin mikro strüktüründe modelliyorlar: ışığın diğer mikro yüzlerle gölgelenmesi ve merceğin belirli bir mikro yüzler tarafından kilitlenmesi. Ölçülen BRDF`de bu efektleri dikkate alıyor, ama modelin kesin parametreleri gibi değil, yalnız ölçülmüş verilerin bir parçası gibi.
BRDF`in kendisi özlüğünden dolayı yüzeyaltı efektleri tasvir edemiyor. Çünkü BRDF yüzeyin yalnız bir noktası için toplam veriler tasvir eder. Yüzeyaltı efektler ise tüm yüzeye çarpan ışığa bağlı. İşte bu yüzden yüzeyaltı dağılımın işlevine diğer bir isim takmışlar – BSSRDF.