Ekran alanı ortam tıkanıklığı nasıl uygulanır?


11

Vikipedi'nin açıklamasını anlamıyorum .

Ekrandaki her piksel için, piksel gölgelendirici geçerli pikselin etrafındaki derinlik değerlerini örnekler ve örneklenen noktaların her birinden tıkanma miktarını hesaplamaya çalışır.

Çevredeki piksellerin derinlik değerleri oklüzyon hakkında nasıl bir şey söyleyebilir? Anladığım kadarıyla oklüzyon , bir A nesnesi başka bir B nesnesinin önünde durduğunda gerçekleşir, bu yüzden B nesnesini göremezsiniz. Ama neden şimdi çevreleyen piksellerin derinlik piksellerine bakıyorsunuz ? Yani bu pikselleri görebiliyorsunuz, bu yüzden tıkanma yok. Belki de oklüzyonun yanlış olduğunu anladım.

Ayrıca anlamadığım şey, diğer bazı derslerde çekirdek terimi. Çekirdek nedir ve neden ssao için kullanasınız?

Birisi sorularımla ilgili algoritma hakkında ayrıntılı bir açıklama yapabilir mi?


bu şekilde düşünün: derin bir kırışıklık içinde gölgeler olacaktır.
Alan Wolfe

1
Burada anlaşılması gereken en önemli şey, ortam ışığının tıkanıklığını hesaplamaya çalışmamızdır.
trichoplax

Yanıtlar:


5

Genel olarak ortam tıkanıklığının (AO) arkasındaki motivasyon, çatlakların ve köşelerin sıklıkla gölgelenme şeklini yaklaşık olarak belirlemektir, çünkü daha az dolaylı ışık bunlara sıçrar. Ofisimin bir fotoğrafından bir örnek - duvarların ve tavanın buluştuğu kenarlardaki karartmaya dikkat edin. Oda sadece pencereden gelen ve etrafında sıçrayan ışık ile aydınlatılır.

odanın köşesinde AO benzeri bir etki gösteren fotoğraf

Bu fenomeni doğru bir şekilde simüle etmek için çevrimdışı oluşturucular yol izleme ve foton eşleme gibi teknikleri kullanır. Gerçek zamanlı amaçlar için, çevrimdışı olarak önceden hesaplıyoruz veya bir şekilde yaklaşık yapıyoruz.

Ekran alanı ortam tıkanıklığı (SSAO), oluşturulan bir görüntünün derinlik arabelleğine (ve muhtemelen normal vektörlere) bakarak köşeleri ve çatlakları algılayabileceğiniz gözlemine dayanır ve böylece yaklaşık AO'yu post-post olarak hesaplayabilirsiniz. geçmek. Derinlik tamponu sahnedeki geometrinin kaba bir temsilidir, bu nedenle bir hedef pikselin mahallesindeki derinlik tamponu değerlerini örnekleyerek, çevresindeki geometrinin şekli hakkında bir fikir edinebilir ve AO tarafından ne kadar koyulaştırıldığını tahmin edebilirsiniz. olmalı.

Bavoil ve Sainz'den derinlik tamponunun geometrisi nasıl temsil ettiğini gösteren diyagram (2008)

Bavoil ve Sainz'den (2008) elde edilen bu diyagram, bir tür yükseklik alanı olarak yorumlanan derinlik tampon değerlerinin, bazı geometrilerin ayrıklaştırılmış bir versiyonunu nasıl temsil ettiğini gösterir. Merkez piksel için SSAO hesaplanırken, çevredeki piksellerin derinlik değerlerine bakar ve geometri daha içbükey olduğunda (şemadaki gibi) ve daha açık olduğunda daha koyu bir değer üretmek için tasarlanmış bir formüle bağlarsınız. geometri düz veya dışbükey olduğunda değer.

Derinlik değerlerinin girdiği formüle, bulanıklaştırma, kenar tespiti ve benzerleri için kullanılan filtre çekirdekleri ile benzer şekilde "çekirdek" denir . Bununla birlikte, SSAO, derinlik değerlerinin doğrusal bir evrişiminden daha karmaşıktır. Şeytan Ayrıntıda. Numunelerin dağılımı ve oklüzyon değerini oluşturmak için bunları işleyen formül, iyi performansı korurken gerçekçiliği geliştirmeye ve eserleri azaltmaya çalışarak son on yılda çok fazla araştırmaya konu olmuştur.


5

Alan ve trichoplax'ın yorumlarda belirttiği gibi, ortam tıkanıklığının simüle ettiği etki, kameradan bir yüzeyin tıkanması değil, yüzeyin çevresinden tıkanmasıdır.

Bunu şu şekilde düşünün: her yönden gelen bir aydınlatmanız olduğunu varsayalım, böylece herhangi bir noktadaki toplam gelen ışık 1 değerini bulur. Eğer o ortama düz bir düzlem yerleştirir ve bir tarafına bakarsanız, o taraf bu aydınlatmanın% 50'sini veya 0,5'i alacak, çünkü diğer yarısı uçağın kendisi tarafından engellendi. Başka bir deyişle, uçağın yüzeyindeki herhangi bir nokta, ortamın yarısından gelen ışığı sadece “görebilir”, bu yüzden yarısı kadar aydınlıktır. Bu düzlemi bakış açınıza (bir “vadi” katına) doğru katlarsanız, gelen aydınlatmayı uçağın o tarafına daha da, 0.5'in altında bir değere düşürürsünüz, çünkü yine, düzlemdeki her nokta biraz “görür” çevreden gelen ışığın daha az.

Ekran alanı ortam tıkanıklığı, komşu piksellerin derinliklerini karşılaştırarak tanımlandığı gibi derinliğin keskin bir şekilde değiştiği ve noktaların ortamından azaltılmış aydınlatmayı simüle etmek için bunları koyulaştırdığı bu "kıvrımları" arayarak az çok çalışır.

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.