YEREL AĞDAKİ KİŞİSEL BİLGİSAYARLARLA PARALEL IŞIN İZLEME Tez Jürisi: Yrd. Doç. Dr. Cemal KÖSE Doç. Dr. Rıfat YAZICI Yrd. Doç. Dr. Ali GANGAL
GENEL BİLGİLER YAPILAN ÇALIŞMALAR SONUÇLAR DOKU KAPLAMA IŞIN İZLEME (RAY TRACING) İleri Yönde Işın İzleme Geri Yönde Işın İzleme Işının Tanımı ve İlk Birincil Işının Üretilmesi Görünmeyen Yüzeylerin Kaldırılması IŞIN-NESNE KESİŞİM TESTLERİ Vektörel İşlemler (Skaler Ç., Vektörel Ç.) Barisentrik Koordinatlar Işın-Yüzey Kesişim Testi Işın-Poligon Kesişim Testi (Jordan C. T.) Işın-Üçgen Kesişim Testi (Möller’in Yön.) Işın-Küre Kesişim Testi GÖLGELER AYNASAL YANSIMA GEÇİRGENLİK ve KIRILMA BOYAMA (Shading) 1. Düz, 2. Gouraud, 3. Phong. PHONG BOYAMA 1. Ambient Bileşen 2. Diffuse Bileşen 3. Specular Bileşen DOKU KAPLAMA Düzlemsel Yüzey ve Küre Doku Kaplama Bump Mapping ile Doku Kaplama Aliasing ve Antialiasing IŞIN İZLEMEYİ HIZLANDIRMA YÖNTEMLERİ Arkayüz Kaldırma (Backface Culling) Çevreleyen Hacim (Bounding Volume) PARALEL BİLGİSAYARLAR Paralel Bilgisayar Türleri Master-Slave Yaklaşımı ile Paralel Programlama YAPILAN ÇALIŞMALAR 1. Özyinelemeli (Recursive) Işın İzleme Programı 2. Yansıma, Geçirgenlik ve Kırılmanın Modellenmesi 3. Düzlemsel Yüzey ve Küre Üzerine Doku Kaplama 4. Bump Mapping ile Doku Kaplama 5. Hızlandırma Yöntemlerinin Uygulanması 6. Etkileşimli (Interactive) Işın İzleme 7. Master-Slave Yaklaşımı ile Paralel Programlama 8. Etkileşimli Paralel Işın İzleme 9. İşlemci Çiftliği Modeli ile Dinamik Yük Dengeleme SONUÇLAR
İleri Yönde Işın İzleme IŞIN İZLEME İleri Yönde Işın İzleme Geri Yönde Işın İzleme
Işının Tanımı R = R0 + tRd t>0 İlk Birincil Işının Üretilmesi Rd = ( R - R0 ) / t Görünmeyen Yüzeylerin Kaldırılması
IŞIN-NESNE KESİŞİM TESTLERİ Vektörel İşlemler : Skaler Çarpım ( R = R1 * R2 = R1xR2x + R1yR2y + R1zR2z ) Vektörel Çarpım ( R = R1 x R2 = [ R1yR2z - R1zR2y R1zR2x - R1xR2z R1xR2y – R1yR2x ] ) Barisentrik Koordinatlar
Işın-Yüzey Kesişim Testi Pn = [ A B C ] normaline sahip bir P yüzeyinin denklemi Ax + By + Cz + D = 0 A( X0 + tXd) + B( Y0 + tYd) + C( Z0 + tZd) + D = 0 t = - ( AX0 + BY0 + CZ0 + D ) / (AXd + BYd + CZd ) t = -( Pn * R0 + D ) / ( Pn * Rd ) Pn * Rd = 0 ise ışın yüzeye paraleldir. Ri = [ xi yi zi ] = [ X0 + tXd Y0 + tYd Z0 + tZd ] Işın-Poligon Kesişim Testi (Jordan Curve Teoremi)
Işın-Üçgen Kesişim Testi (Tomas Möller’in Yöntemi) R = O + tD ve t(u,v) = (1-u-v)V0 + uV1 + vV2 biliniyor. Eger kesişim varsa O + tD = (1-u-v)V0 + uV1 + vV2 olmalıdır. Denklem düzenlenirse Yukarıdaki hale gelir. Bu denklem çözülürse t ve barisentrik koordinatlar aşağıdaki gibi hesaplanır. Burada E1=V1-V0 E2=V2-V0 ve S=O-V0 ‘dır.
Işın-Küre Kesişim Testi Işın_Küre_Kesişimi( o, d, c, r) 1: l = c – o 2: s = l * d 3: l2 = l * l 4: if ( s < 0 and l2 > r2 ) return (REJECT,0,0) 5: m2 = l2 - s2 6: if ( m2 > r2 ) return (REJECT,0,0) 7: q = sqrt(r2 - m2 ) 8: if ( l2 > r2 ) t = s – q 9: else t = s+ q 10: return (INTERSECT, t, o + td)
GÖLGELER
AYNASAL YANSIMA
Geçirgenlik ve Kırılma n1Sin(1) = n2Sin(2) t = ri + (w-k)n Burada w = -(i*n)r, k = sqrt(1+(w-r)(w+r)) ‘dır.
BOYAMA (Shading) PHONG BOYAMA idif = n * I = cos 1. Düz, 2. Gouraud, 3. Phong. PHONG BOYAMA 1. Ambient Bileşen 2. Diffuse Bileşen 3. Specular Bileşen idif = n * I = cos ispec = ( r * v )mshi = ( cos )mshi
Parlaklık Parametresi
itop = iamb + idif + ispec d = 1/ || spos - p||2 itop = iamb + d(idif + ispec)
Doku Kaplama t(u,v) = V0 + u(V1-V0) + v(V2-V0)
Küre Üzerine Doku Kaplama 1: = arccos ( -Sp * Sn ) 2: v = / 3: = ( (Se * Sn) / sin() ) / (2*) 4: if( (Sp x Se) * Sn > 0) then u = 5: else u = 1 -
Bump Mapping ile Doku Kaplama
Aliasing ve Antialiasing
Işın İzlemeyi Hızlandırma Yöntemleri 1. Arkayüz Kaldırma (Backface Culling) Vektörel Çarpımla Arkayüz Kaldırma Skaler Çarpımla Arkayüz Kaldırma 2. Çevreleyen Hacim (Bounding Volume) a)Çevreleyen Küre b) Çevreleyen Dikdörtgen Prizma
PARALEL BİLGİSAYARLAR Paralel Bilgisayar Türleri Palaşımlı Bellekli Çoklu İşlemcili Sistem Mesaj Geçmeli Çoklu Bilgisayar Sistemi
Master-Slave Yaklaşımı ile Paralel Programlama
YAPILAN ÇALIŞMALAR Özyinelemeli Işın İzleme Programının Tasarlanması Birincil Işınların Üretilmesi, Kesişim Testleri ve Gölge Testi Poligon sayısı Işık kaynağı sayısı Möllerin Yöntemi Jordan Curve T. Alan Hesabı 112 1 73.09 sn. 119.2 sn. 131.77 sn.
Farklı Tonda Gölgeler Yumuşatılmış Gölgeler
Yansıma ve Kırılma ile Görünen Nesnelerin Modellenmesi Geçirgenlik ve Kırılma
Düzlemsel Yüzey Üzerine Doku Kaplama ve Antialiasing Düzlemsel Yüzey ve Küre Üzerine Doku Kaplama Düzlemsel Yüzey Üzerine Doku Kaplama ve Antialiasing
Küre Üzerine Doku Kaplama
Işın İzlemeyi Hızlandırma Yöntemleri 1. Arkayüz Kaldırma ve Çevreleyen Küre GEÇEN ZAMAN (sn.) Kürenin üçgen sayısı Arka-yüz kaldırma yok Arka-yüz kaldırma var 80 14.47 12.53 180 32.89 28.14 320 61.23 49.97 500 101.91 87.47 720 175.89 140.92 980 260.38 224.89 GEÇEN ZAMAN (sn.) Küre üçgen sayısı Arka-yüz kal. yok Arka-yüz kal. var Arka-yüz k. Çev. küre 80 14.47 12.53 8.58 180 32.89 28.14 16.84 320 61.23 49.97 29.58 500 101.91 87.47 51.05 720 175.89 140.92 81.02 980 260.38 224.89 127.55
2. Çevreleyen Dikdörtgen Prizma Yukarıdaki 300x300 çözünürlükteki görüntünün çevreleyen hacim yöntemi kullanılmadan üretilmesi için geçen süre 43.8 saniyedir. Çevreleyen hacim yöntemi kullanıldığında bu süre 36.7 saniyeye düşmektedir.
Etkileşimli Işın İzleme
Master-Slave Paralel Programlama Yaklaşımı Etkileşimli Paralel Işın İzleme
İşlemci Çiftliği Modeli ile Dinamik İş Tahsisi ve Yük Dengelemsi Heterojen bir ağ için yük dengelemesi yapmak paralel hesaplamanın etkinliği açısından gereklidir. Ayrıca üretilecek görüntüdeki herhangi bir piksel için gereken zaman diğerinden farklı olabilmektedir. O ndenele ağ homojen bile olsa statik iş tahsisi yapıldığında yük dengesizlikleri olabilmektedir. Bunun için paralel çalışmada işlemci çiftliği modeli gerçeklenmiştir. Buna göre ana bilgisayar üretilecek görüntüyü parçalara bölerek bir iş havuzu oluşturur. Ağ üzerindeki her bir bilgisayar da bu iş havuzundan bir iş alıp tamamlar ve tekrar havuzdan iş ister. Böylece dinamik iş tahsisi ve yük dengelemesi yapılmıştır.
1. Etkileşimli Paralel Işın İzleme SONUÇLAR 1. Etkileşimli Paralel Işın İzleme
2. İşlemci Çiftliği Modeli ile Dinamik İş Tahsisi ve Yük Dengelemesi