Radyosite (bilgisayar grafikleri) - Radiosity (computer graphics)

RRV ile işlenen sahne (OpenGL'ye dayalı radyosite oluşturucunun basit uygulaması) 79. yineleme.

Olarak 3 boyutlu bilgisayar grafik , radiosity bir uygulamadır sonlu eleman yöntemi çözme oluşturma denklemi yüzeyleri ile sahnelerde dağınık ışık yansıtır . Her tür ışık yolunu işleyen Monte Carlo algoritmalarını ( yol izleme gibi) kullanan işleme yöntemlerinin aksine , tipik radyozite yalnızca bir ışık kaynağı bırakan ve dağınık olarak yansıtılan yolları ("LD*E" koduyla temsil edilir) hesaba katar. göze çarpmadan önce kaç kez (muhtemelen sıfır). Radyosite, bir yüzeye gelen aydınlatmanın sadece doğrudan ışık kaynaklarından değil, aynı zamanda ışığı yansıtan diğer yüzeylerden gelmesi anlamında küresel bir aydınlatma algoritmasıdır . Radyosity bakış açısından bağımsızdır, bu da ilgili hesaplamaları artırır, ancak bunları tüm bakış açıları için faydalı kılar.

Radyosite yöntemleri ilk olarak 1950'lerde ısı transferi mühendislik alanında geliştirilmiştir . Daha sonra, 1984 yılında Cornell Üniversitesi ve Hiroşima Üniversitesi'ndeki araştırmacılar tarafından bilgisayar grafikleri oluşturma sorunu için özel olarak rafine edildiler .

Enlighten by Geomerics ( Battlefield 3 ve Need for Speed: The Run dahil olmak üzere oyunlar için kullanılır ); 3ds Max ; form•Z ; LightWave 3D ve Elektrikli Görüntü Animasyon Sistemi .

Görsel özellikler

Gölge yarı gölgesiz standart doğrudan aydınlatma ile gölge yarı gölgeli radyosite arasındaki fark

Render işlemine radyosite hesaplamalarının dahil edilmesi, gerçek dünya fenomenlerini taklit etme şeklinden dolayı, bitmiş sahneye ek bir gerçekçilik unsuru katar. Basit bir oda sahnesi düşünün.

Soldaki görüntü, tipik bir doğrudan aydınlatma oluşturucu ile oluşturuldu . Orada üç tip spesifik gerçekçi aydınlatma oluşturmak için bir girişim seçilmiş ve sanatçı tarafından yerleştirilmiş olan bu sahnede aydınlatma: Spot aydınlatma gölgelerle, (pencerenin dışına yerleştirilmiş katta parlayan ışık oluşturmak için) , ortam aydınlatmasını (olmadan odanın herhangi bir kısmı doğrudan bir ışık kaynağı tarafından aydınlatılmayan tamamen karanlık olacaktır) ve gölgesiz çok yönlü aydınlatma (ortam aydınlatmasının düzlüğünü azaltmak için).

Sağdaki görüntü, bir radyosite algoritması kullanılarak oluşturuldu . Tek bir ışık kaynağı vardır : pencerenin dışına yerleştirilmiş gökyüzünün görüntüsü. Fark işaretlenir. Oda ışıkla parlıyor. Zeminde yumuşak gölgeler görülür ve odanın çevresinde hafif ışık efektleri fark edilir. Ayrıca, halının kırmızı rengi gri duvarlara akarak onlara biraz sıcak bir görünüm kazandırmıştır. Bu efektlerin hiçbiri sanatçı tarafından özel olarak seçilmemiş veya tasarlanmamıştır.

Radyosite algoritmasına genel bakış

Oluşturulacak sahnenin yüzeylerinin her biri bir veya daha fazla küçük yüzeye (yamalara) bölünür. Her yama çifti için bir görünüm faktörü ( form faktörü olarak da bilinir ) hesaplanır; yamaların birbirini ne kadar iyi görebileceğini açıklayan bir katsayıdır. Birbirinden uzak veya birbirine göre eğik açılarda yönlendirilmiş olan yamalar daha küçük görüş faktörlerine sahip olacaktır. Yolda başka yamalar varsa, oklüzyonun kısmi veya tam olmasına bağlı olarak görüş faktörü azaltılır veya sıfırlanır.

Görünüm faktörleri, doğrusal bir denklem oluşturma sisteminde katsayılar olarak kullanılır. Bu sistemin çözülmesi, dağınık yansımaları ve yumuşak gölgeleri hesaba katarak her yamanın radyositesini veya parlaklığını verir.

Aşamalı radyosite, yama için sıçrama seviyelerine karşılık gelen ara radyosite değerleriyle sistemi yinelemeli olarak çözer. Yani, her yinelemeden sonra, sahnenin bir ışık sıçramasından sonra, iki geçişten, iki sıçramadan vb. sonra nasıl göründüğünü biliyoruz. Bu, sahnenin etkileşimli bir önizlemesini almak için kullanışlıdır. Ayrıca, kullanıcı, hesaplamanın sayısal olarak yakınsamasını beklemek yerine, görüntü yeterince iyi göründüğünde yinelemeleri durdurabilir.

Algoritma yinelenirken, birden fazla sıçrama hesaplandığından ışığın sahneye aktığı görülebilir. Bireysel yamalar duvarlarda ve zeminde kareler olarak görülebilir.

Radyozite denklemini çözmek için bir başka yaygın yöntem, radyozite denklemini her adımda en fazla enerjiye sahip yamadan gelen ışığı "çekerek" tekrarlayan bir şekilde çözen "radyozite çekimi"dir. İlk geçişten sonra, yalnızca ışık yayan bir yamanın doğrudan görüş alanında olan yamalar aydınlatılacaktır. İkinci geçişten sonra, ışık sahnenin etrafında sıçramaya başladıkça daha fazla yama aydınlanacaktır. Sahne daha parlak olmaya devam ediyor ve sonunda sabit bir duruma ulaşıyor.

matematiksel formülasyon

Temel radyosite yönteminin temeli, termal radyasyon teorisindedir , çünkü radyosite, yüzeyler arasında aktarılan ışık enerjisi miktarının hesaplanmasına dayanır. Hesaplamaları basitleştirmek için yöntem, tüm saçılmaların mükemmel şekilde dağınık olduğunu varsayar . Yüzeyler tipik olarak, üzerinde parçalı bir polinom fonksiyonunun tanımlandığı dörtgen veya üçgen elemanlara ayrılır .

Bu bozulmadan sonra, ışık enerjisi transferinin miktarı , iki yamanın görüş faktörü ile birlikte yansıtıcı yamanın bilinen yansıtıcılığı kullanılarak hesaplanabilir . Bu boyutsuz miktar , iki parçanın geometrik oryantasyonundan hesaplanır ve birinci parçanın, ikinci tarafından kapsanan toplam olası yayma alanının kesri olarak düşünülebilir.

Daha doğrusu, radyosite B , ayrık zaman aralığı başına yama yüzeyinden ayrılan birim alan başına enerjidir ve yayılan ve yansıyan enerjinin birleşimidir:

nerede:

  • B(x) i d A i , x noktası etrafında küçük bir d A i alanını terk eden toplam enerjidir .
  • E(x) i d A i yayılan enerjidir.
  • ρ(x) noktanın yansıtma gücüdür, birim alan başına düşen enerji ile çarpılarak birim alan başına yansıyan enerjiyi verir (diğer parçalardan gelen toplam enerji).
  • S , x' integrasyon değişkeninin sahnedeki tüm yüzeyler üzerinde çalıştığını belirtir.
  • r , x ve x' arasındaki mesafedir
  • θ X ve θ x ' birleştiren hat arasındaki açılardır x ve x', ve vektörler de yüzeyine normal x ve x', sırasıyla.
  • Vis( x , x' ), x ve x' iki noktası birbirinden görünüyorsa 1 , görünmüyorsa 0 olarak tanımlanan bir görünürlük fonksiyonudur .
Geometrik form faktörü (veya "öngörülen katı açı") F ij .

F ij elemanının çıkıntı ile elde edilebilir bir j bir birim yarı kürenin yüzeyi üzerine ve daha sonra çıkıntı bu düzleminde ilgi alanına etrafında bir birim çember üzerine sırayla A i . Form faktörü daha sonra bu izdüşüm tarafından kapsanan birim çemberin oranına eşittir.

Form faktörleri karşılıklılık ilişkisine uyar A i F ij = A j F ji

Yüzeyler, her biri sabit bir radyositeye B i ve yansıtıcılığa ρ i sahip olduğu kabul edilen sonlu sayıda düzlemsel yama ile yaklaştırılırsa , yukarıdaki denklem ayrık radyosite denklemini verir,

burada F ij , j'den ayrılan ve i bölgesine çarpan radyasyon için geometrik görünüm faktörüdür .

Bu denklem daha sonra her bir yamaya uygulanabilir. Denklem monokromatiktir, bu nedenle renk radyositesi işleme, gerekli renklerin her biri için hesaplama gerektirir.

Çözüm yöntemleri

Denklem, vektör çözümünü vermek için resmi olarak matris denklemi olarak çözülebilir:

Bu, doğrudan B için tam "sonsuz sıçrama" çözümünü verir. Ancak matris çözümünü hesaplamak için hesaplama sayısı n 3'e göre ölçeklenir , burada n yama sayısıdır. Bu, gerçekçi olarak büyük n değerleri için engelleyici hale gelir .

Bunun yerine, yukarıdaki tek sıçrama güncelleme formülünü tekrar tekrar uygulayarak denklem yinelemeli olarak daha kolay çözülebilir. Biçimsel olarak, bu Jacobi yinelemesiyle matris denkleminin bir çözümüdür . Yansımalar ρ i 1'den küçük olduğundan, bu şema hızlı bir şekilde yakınsar ve makul bir çözüm üretmek için tipik olarak yalnızca bir avuç yineleme gerektirir. Matris denklemi çözümleri için diğer standart yinelemeli yöntemler de kullanılabilir, örneğin Gauss-Seidel yöntemi , burada her bir yama için güncellenen değerler, her birinin sonunda eşzamanlı olarak güncellenmek yerine, hesaplandığı anda hesaplamada kullanılır. süpürmek. Çözüm ayrıca, alıcı yamaların her biri yerine her güncelleme için en dıştaki ana döngüsünde sırayla gönderen öğelerin her biri üzerinde yinelenecek şekilde ince ayar yapılabilir. Bu, toplama varyantının aksine algoritmanın çekim varyantı olarak bilinir . A i F ij = A j F ji görünüm faktörü mütekabiliyeti kullanılarak, güncelleme denklemi ayrıca her gönderen yama A j tarafından görülen F ji görünüm faktörü açısından yeniden yazılabilir :

Bu bazen "güç" formülasyonu olarak bilinir, çünkü artık güncellenmekte olan her öğenin radyositesinden ziyade toplam iletilen gücüdür.

Şekil faktörü K ij kendisi bir dizi yolla hesaplanabilir. İlk yöntemler bir hemicube (ikinci yüzeyin yansıtıldığı ilk yüzey üzerinde merkezlenmiş , 1985'te Michael F. Cohen ve Donald P. Greenberg tarafından tasarlanan hayali bir küp ) kullanıyordu. Yarım küpün yüzeyi, her biri için bir görünüm faktörünün analitik olarak kolayca hesaplanabileceği piksel benzeri karelere bölündü. Tam form faktörü daha sonra piksel benzeri karelerin her birinin katkısı toplanarak yaklaşık olarak hesaplanabilir. Çokgenlerin görünürlüğünü belirlemek için standart yöntemlerden uyarlanabilen yarım küp üzerine projeksiyon, arkadakileri kısmen gizleyen araya giren yamalar sorununu da çözdü.

Bununla birlikte, tüm bunlar hesaplama açısından oldukça pahalıydı, çünkü ideal olarak, her olası yama çifti için form faktörleri türetilmelidir, bu da yama sayısı arttıkça hesaplamada ikinci dereceden bir artışa yol açar . Bu, karmaşık sahnelerde hangi yamaların diğerlerinden tamamen gizlendiğini belirlemek için harcanan süreyi azaltmak için ikili alan bölümleme ağacı kullanılarak bir miktar azaltılabilir ; ancak buna rağmen, form faktörünü belirlemek için harcanan zaman hala tipik olarak n log n olarak ölçeklenir . Yeni yöntemler uyarlanabilir entegrasyonu içerir.

Örnekleme yaklaşımları

F ij form faktörlerinin kendilerine aslında güncelleme denklemlerinin hiçbirinde açıkça ihtiyaç duyulmaz; ne tüm görünümden toplanan toplam yoğunluğu Σ j F ij B j ne de yayılan A j B j gücünün nasıl dağıldığını tahmin etmek için . Bunun yerine, bu güncellemeler, form faktörlerini açıkça hesaplamak zorunda kalmadan, örnekleme yöntemleriyle tahmin edilebilir. 1990'ların ortalarından bu yana, bu tür örnekleme yaklaşımları, pratik radyosite hesaplamaları için en çok kullanılan yöntemler olmuştur.

Toplanan yoğunluk, birim çemberde bir dizi örnek üreterek, bunları yarım küreye kaldırarak ve daha sonra o yönde gelen bir ışının kaynaklandığı elementin radyozitesinin ne olduğuna bakarak tahmin edilebilir. Toplam toplanan yoğunluğun tahmini, her bir ışın tarafından keşfedilen radyositelerin ortalamasıdır. Benzer şekilde, güç formülasyonunda, güç, yayılan elemandan aynı şekilde bir dizi ışın üreterek ve gücün bir ışının çarptığı her eleman arasında eşit olarak dağıtılmasıyla dağıtılabilir.

Bu, esasen, bir yol izleme programının, bir dağınık yansıma adımını geri izlemede örnekleyebileceği dağılımla aynıdır ; veya bir çift yönlü ışın izleme programının, ışık kaynağı ileriye doğru eşlendiğinde bir ileri dağınık yansıma adımı elde etmek için örnekleme yapması. Bu nedenle, örnekleme yaklaşımı bir dereceye kadar iki teknik arasında bir yakınlaşmayı temsil eder, temel fark, radyosity tekniğinin, sahnedeki tüm yüzeylerin yalnızca akımın bir temsilinden ziyade yeterince doğru bir parlaklık haritasını oluşturmayı amaçlamasıdır. görüş.

Hesaplama süresini azaltmak

Temel biçiminde radyozite, eklenen geometri (yüzeyler ve yamalar) ile hesaplama süresinde ikinci dereceden bir artışa sahip olduğu varsayılsa da, durumun böyle olması gerekmez. Radyosite sorunu, doku haritalı bir sahne oluşturma sorunu olarak yeniden ifade edilebilir . Bu durumda, hesaplama süresi yalnızca yama sayısıyla doğrusal olarak artar ( önbellek kullanımı gibi karmaşık sorunlar göz ardı edilir ).

Radyosite ile geliştirilmiş görüntülere yönelik ticari coşkunun ardından, ancak hızlı radyosite hesaplamasının standartlaştırılmasından önce, birçok mimar ve grafik sanatçısı, gevşek bir şekilde sahte radyosite olarak adlandırılan bir teknik kullandı . Köşelere, derzlere ve girintilere karşılık gelen doku haritalarının alanlarını karartarak ve bunları kendi kendine aydınlatma veya dağınık haritalama yoluyla uygulayarak, standart bir tarama çizgisi oluşturucu ile yama etkileşiminin radyosite benzeri bir etkisi yaratılabilir (bkz. ortam tıkanması ).

Statik, önceden hesaplanmış radyosity, standart grafik hızlandırma donanımına sahip mevcut masaüstü bilgisayarlarda Lightmaps aracılığıyla gerçek zamanlı olarak görüntülenebilir .

Avantajlar

Utah çaydanlığının modern bir görüntüsü . Bu sahnedeki tüm dağınık aydınlatma için radyosite kullanıldı.

Radiosity algoritmasının avantajlarından biri, açıklanması ve uygulanması nispeten basit olmasıdır. Bu, onu öğrencilere küresel aydınlatma algoritmaları hakkında öğretmek için kullanışlı bir algoritma yapar. Tipik bir doğrudan aydınlatma oluşturucu , radyositeyi uygulamak için gereken neredeyse tüm algoritmaları ( perspektif dönüşümleri , doku eşleme , gizli yüzey kaldırma ) zaten içerir . Bu algoritmayı anlamak veya uygulamak için güçlü bir matematik kavrayışı gerekli değildir.

sınırlamalar

Tipik radyosite yöntemleri yalnızca LD*E biçimindeki ışık yollarını, yani bir ışık kaynağında başlayan ve göze ulaşmadan önce çok sayıda dağınık yansıma yapan yolları hesaba katar. Aynasal ve parlak yansımalar gibi diğer aydınlatma efektlerini entegre etmek için çeşitli yaklaşımlar olmasına rağmen , tam işleme denklemini çözmek için genellikle radyosite tabanlı yöntemler kullanılmaz.

Temel radyosite, görünürlükteki ani değişiklikleri (örneğin, sert kenarlı gölgeler) çözmede de sorun yaşar, çünkü parçalı sabit elemanlara kaba, düzenli ayrıklaştırma , uzamsal alanın düşük geçişli bir kutu filtresine karşılık gelir . Süreksizlik ağ oluşturma [1] , daha akıllı bir ayrıklaştırma oluşturmak için görünürlük olayları bilgisini kullanır.

Terminoloji hakkında kafa karışıklığı

Radiosity, yaygın olarak kullanılan ve dağınık dolaylı aydınlatmayı açıklayan belki de ilk işleme algoritmasıydı. Whitted tarzı ışın izleme gibi daha önceki işleme algoritmaları, yansımalar, kırılmalar ve gölgeler gibi etkileri hesaplayabiliyordu, ancak son derece küresel fenomen olmalarına rağmen, bu etkiler genellikle " küresel aydınlatma " olarak adlandırılmıyordu . Sonuç olarak, " yaygın karşılıklı yansıma " ve " radyosite " terimlerinin her ikisi de popüler dilde "küresel aydınlatma" ile karıştırıldı . Ancak, üçü farklı kavramlardır.

Radyosite yöntemi, bilgisayar grafikleri bağlamında, ısı transferindeki radyosite yönteminden türemiştir (ve temelde aynıdır) . Bu bağlamda radyosite , bir yüzeyden ayrılan toplam ışınım akışıdır (hem yansıyan hem de yeniden yayılan); bu bazen radyant çıkış olarak da bilinir . Yüzey sıcaklıklarından ziyade radyositenin hesaplanması , probleme lineer matris yöntemlerinin uygulanmasına izin veren radyosite yönteminin önemli bir yönüdür .

Ayrıca bakınız

Referanslar

daha fazla okuma

Dış bağlantılar

  • RADical, Parag Chaudhuri tarafından (Colbeck tarafından GLUTRAD'dan uzanan, OpenGL hızlandırmalı progresif radyosite algoritmasının çekim ve sıralama varyantının bir uygulaması)
  • Radiosity Renderer ve Visualizer ( OpenGL tabanlı radyosity oluşturucunun basit uygulaması )
  • Enlighten (Bilgisayar oyunu uygulamaları için gerçek zamanlı radyosity sağlayan lisanslı yazılım kodu. İngiltere şirketi Geomerics tarafından geliştirilmiştir )