Embed
Email

Sunum Rapor

Document Sample
Sunum Rapor
Shared by: HC111215203950
Categories
Tags
Stats
views:
17
posted:
12/15/2011
language:
pages:
40
4705 Hüseyin ÖZBEK

4721 Fadıl ÇAĞLAR

5476 Dinç ÖZDEMİR



Konu: Işın İzleme



GİRİŞ

Bilgisayar grafiklerinde üç boyutlu (3B) görüntü üretim yöntemlerinden biri olan Işın

İzleme (Ray Tracing), ilk olarak 1968 yılında Appel tarafından ortaya atılmıştır . Appel’in ışın

izleme yöntemi 3B nesneler için yüzey boyama ve gölgelendirme yapabilmesine rağmen,

ışının aynasal yansıma ve kırılma özelliklerini modelleyemiyordu. Whitted ve Kay’ın

çalışmaları sonucunda, ışın izleme algoritması ışının aynasal yansıma ve kırılma özelliklerini

de modelleyebilecek şekilde geliştirilmiştir. Işın izleme yöntemi bu özelikleriyle, 3B görüntü

üretimi teknikleri içinde gölge belirleme, aynasal yansıma, kırılma ve katı cisim üretimi için

en etkin yöntemlerden biridir.

Günümüzde 3B görüntü üretimi tekniklerinin görüntü üretirken yaptıkları iki ana iş

vardır : görünmeyen yüzeylerin kaldırılması (hidden surface removal), boyama. Görünmeyen

yüzeylerin kaldırılması, belli bir bakış noktasından bakan gözlemcinin manzaradaki 3B

nesnelerin yüzeylerinden görünmeyenlerinin kaldırılarak görünenleri belirleme işlemidir.

Boyama, 3B nesne üzerindeki herhangi bir noktanın rengini belirleme işlemidir. Renk

belirleme ışıklandırmaya (lighting), gölgelere, geçirgenliğe, yansıtmaya, kırılma indisine ve

yüzeyin dokusuna bağlı olarak belirlenir. Işın izleme yerel aydınlatmanın (local illumination)

bu saydığımız bütün özellikleri için çözümler sunar.

Etkileşimli görüntü üretimi için tek işlemci yeterli olmadığından, yapılan çalışmalarda

paralel bilgisayarlar kullanılmıştır. Işın izleme yöntemi herhangi bir pikselin renk bilgisini

diğerinden bağımsız hesapladığından paralel hesaplama için oldukça uygun bir yöntemdir.

Sistemin performansı ilgilenilen görüntünün karmaşıklığı ve görüntü boyuna bağlı olarak

değişmesine rağmen seçilen paralel sistemin ölçeğine göre oldukça olumlu sonuçlar elde

edilmiştir.

Etkileşimli ışın izleme ile ilgili yapılan çalışmaların genellikle paralel çalışan

geleneksel çok-işlemcili sistemler üzerinde olduğu görülmektedir. Bu sistemler paralel

hesaplamanın etkinliği açısından daha başarılı olsa da kısa zamanda demode olmakta ve

kolayca güncelleştirilememektedir. Oysa günümüzdeki kişisel bilgisayarlardaki işlemciler

geleneksel paralel bilgisayar sistemlerinde kullanılan işlemcilere göre oldukça güçlüdür.

Dolayısıyla geleneksel paralel işlemciler yerine, kişisel bilgisayarlardan oluşan paralel

sistemleri kullanmak daha avantajlı olmaktadır. Böylece bilgisayarlar yavaş kaldığında

sisteme kolayca yüksek hızlı yeni bilgisayarlar eklenebilmektedir. İstenilirse tüm sistem

kolayca güncellenebilmekte ve geliştirilmiş yazılımlar sistemde çoğu zaman güncelleme

gerekmeksizin kullanılabilmektedir. Geleneksel paralel işlemcilerde ise sistemin

değiştirilmesi ile birlikte çoğu zaman geliştirilen yazılımların da büyük ölçüde değişmesi

gerekmektedir. Bu çalışmada etkileşimli bilgisayar grafikleri için en uygun hesaplama

ortamını sunan, güncel ağ teknolojisi kullanılarak birleştirilen kişisel bilgisayarlardan oluşan,

paralel bilgisayar sistemi kullanılmıştır.





IŞIN İZLEME (İngilizce: Ray tracing)









1

Gerçek dünyada ışığın ne şekilde hareket ettiğini göz önünde bulundurarak bir

sahnenin görüntüsünü çizen bir grafik oluşturma yöntemidir. Ancak bu yöntemde işlemler

gerçek dünyadaki yolun tersini izler. Gerçek dünyada ışık ışınları bir ışık kaynağından çıkar

ve nesneleri aydınlatırlar. Işık nesnelerden yansır ya da şeffaf nesnelerin içinden geçer.

Yansıyan ışık gözümüze ya da kamera lensine çarpar. Yansıyan ışık ışınlarının çoğu bir

gözlemciye erişmediği için bir sahnedeki ışınları izlemek sonsuza dek sürebilir.

Işın izleme yöntemi, 3B görüntüler üretmek için, bakış noktasından görüntü

düzlemindeki her bir pikselden geçecek şekilde nesne uzayına ışınlar yollar. Bu ışınlara

“birincil ışınlar” denir. Üretilecek görüntüdeki herhangi bir pikselin rengi, o pikselden geçen

birincil ışın ile görüntüsü üretilecek nesnelere ait üçgenler arasında kesişim testleri yapılıp

görünmeyen yüzeyler kaldırılarak belirlenen, bakış noktasına en yakın üçgenin rengine, eğer

bu üçgen ışını yansıtıcı/kırıcı özelliğe sahipse ışının bu üçgenden yansıyıp/kırılıp çarptığı ilk

üçgenin rengine, bakış noktasının ve ışık kaynağının konumuna göre belirlenir. Burada

yüzeyin yansıtıcılığına ve geçirgenliğine bağlı olarak ikincil, üçüncül ve diğer ışınlar tam

görüntünün üretimi için birincil ışındakine benzer şekilde dikkate alınmaktadır. Bu çalışmada

gerçekçi görüntülerin üretimi için kullanılan etkileşimli ışın izleme yöntemi yansıma, gölge

testi, doku kaplama, hızlandırma yöntemlerini içermektedir.

Günümüzde pek çok alanda bilgisayar kullanımı oldukça yaygınlaşmıştır. İlk

zamanlarda sadece bazı hesaplamalar yapmak için kullanılan bilgisayarlar, kullanım alanları

genişledikçe insan hayatında daha çok yer edinmiş, iletişim yetenekleri geliştikçe de insanla

daha çok ortamı paylaşır hale gelmişlerdir. Bu bağlamda görüntünün güzel olması pek çok

uygulama için gerekli olmakla beraber, güncel uygulamaların büyük kısmında gerçekçilik de

büyük önem taşır. Örneğin oyunlar, özel animasyonlar ve sadece animasyonlardan oluşan

filmler, bilgisayar dünyasında oldukça popülerdir.

Görüntünün gerçekçi ve güzel olmasında ekran kartı (graphics adapter) kuşkusuz

büyük önem taşır. Ekran kartları kendi işlemcisi ve belleği bulunan, grafik komutlarını direkt

destekleyen donanımlardır. Görüntü üretiminde donanımın verdiği desteğe ek olarak, kaliteyi

arttırma adına yapılan yazılım çalışmaları da bulunmaktadır. Bu çalışmalar arasında,

uygulanılabilirliğinin yüksek olması ve fiziki gerçekliğe oldukça yakın olması nedeni ile Işın

İzleme Yöntemi (Ray Tracing) yaygın olarak kullanılmaktadır.

Işın izleme metodu, bilgisayar ortamında üç boyutlu, fotoğraf kalitesine çok yakın görüntü

üretimi için kullanılan, oldukça basit ve gerçekçi bir yöntemdir. Üç boyutlu görüntü

oluşturmak için kullanılabilen birçok alternatif yöntemin bulunmasına rağmen, ışın izleme

metodunun tercih edilmesinin nedeni, metodun gerçek dünyada ışığın çevreyle olan

etkileşimini modellemeye çalışmasıdır.

Elbette hiçbir algoritma mükemmel değildir. Işın izleme metodunun gerçekleştirilmesi

basit olmasına rağmen, gerektirdiği işlemci gücü ve bellek kullanımı önemli bir problem

oluşturmaktadır. Görüntü oluşturma süresini kısaltmak için daha hızlı işlemcilerin

kullanılması tek başına yeterli değildir. Bunun bir sebebi, yöntemin özyinelemeli bir yapıya

sahip olması ve sahnedeki cisimlerin tüm özellik bilgilerinin saklanması için gerekli olan

bellek ihtiyacıdır. Diğer bir sebep de bellekte saklanan verilerin yoğun bir şekilde işlemciye

taşınma gereksiniminden kaynaklanan veri yolu trafiğinin fazla olmasıdır. Bu sebeple işlemci

hızının, veri yolu bant genişliğinin ve bellek boyutunun birlikte arttırılması işlemi

hızlandırabilir. Ayrıca algoritmanın paralel sistemlere uygulanması da hızın artmasını

sağlayabilir.

Phong Aydınlatma Modeline göre herhangi bir pikselin renk değeri belirlenirken üç

bileşen kullanılır. Bunlar ortam ( ambient ), yaygın ( diffuse ) ve aynasal ( specular )

bileşenlerdir. Bu üç bileşen, toplamları 1’e eşit olan üç katsayı ile çarpılıp toplanarak, ilgili

pikselin renk değeri hesaplanır. Klasik ışın izleme yöntemi, ambient değerini gerçekçi olarak







2

modelleyememektedir. Örneğin tavanında bir lambanın bulunduğu bir odanın simülasyonu

yapılmak istendiğinde, odanın tavanı neredeyse tamamen karanlık kalmaktadır.









Ayrıca aynı odada bir masa olduğunu farz edersek, masanın altının da tamamen siyah

olduğu görülür. Gerçek dünyada bazı yüzeylerin tamamen karanlık olmamasına rağmen, ışın

izlemenin sonucunda tamamen karanlık olmasının nedeni, ışık kaynağından çıkan ışınlar

tarafından doğrudan aydınlatılmayan yüzeylerin gerçekte aydınlık olmasıdır. Yani sahnede

aydınlık görünmesine rağmen, ışık kaynağından çıkan ışınların direkt olarak çarpmadıkları

yüzeyler bulunmaktadır. Bu yüzeyler kırılmalar veya yansımalar neticesinde

aydınlanmaktadır. Bu işleme Dolaylı Aydınlatma (Indirect Illumination) denir. Doğrudan

aydınlatılmayan bu yüzeylerin renk değerlerinin hesaplanması, derinliği önceden belirlenmiş

özyinelemeli bir algoritmayı gerekli kılar. Aksi taktirde görüntünün tamamen gerçekçi olması

beklenemez. Elbette ki bu algoritmanın koşması, görüntünün daha da geç hesaplanmasına

neden olacaktır. Bu nedenle algoritmanın optimum olması çok önemlidir.



Üretilen görüntüdeki piksellerin renk değerleri Phong aydınlatma modeli ile

belirlenmiştir. Doku kaplama yapılarak görüntünün kalitesi arttırılmıştır. Bump mapping ile

doku kaplama yapılmıştır. Doku kaplamada karşılaşılan aliasing problemi supersampling

yapılarak çözümlenmiştir. Işın izlemeyi hızlandırmak için arka yüz kaldırma ve çevreleyen

hacim yöntemleri kullanılmıştır. Ayrıca etkileşimli ışın izleme yapılmıştır. Buna göre

kullanıcı üretilen görüntü içerisinde tuşlarla ile geri ilerlemekte ve sağa sola dönebilmektedir.

Işın izlemede herhangi bir pikselin renginin hesaplanması diğerlerinden bağımsızdır. Bu

özelliği ile ışın izleme paralel hesaplamaya yatkın bir yöntemdir. Yapılan çalışmada yerel ağ

üzerindeki bilgisayarlar paralel çalıştırılmış üretilen görüntüler için speedup değerleri

hesaplanmıştır. Heterojen bir ağ için yük dengelemesi yapmak paralel hesaplamanın etkinliği





3

açısından gereklidir. Ayrıca üretilecek görüntüdeki herhangi bir piksel için gereken zaman

diğerinden farklı olabilmektedir. O nedenle ağ homojen bile olsa yük dengelemesi yapmak

gerekebilir. 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.





İleri Yönlü Işın İzleme (Forward Ray Tracing) Yöntemi

Işık kaynağından doğrusal olarak saçılan ışınların cisimlerden yansıması ya da kırılması

sonucu göze ulaştığı kabul edilerek yapılan modellemeye İleri Yönde Işın İzleme (Forward

Ray Tracing) yöntemi denir. Gerçek dünyadaki görme, bu modele uygun olarak

gerçekleşmektedir.

Gerçek dünyada ışık kaynağından saçılan milyarlarca fotonun çok az bir kısmı göze

ulaşır. Işık kaynağından çıkan fotonlar önünü kesen bir yüzeye çarpana dek doğrusal olarak

(ışınlar halinde) ilerler. Fotonlar ile yüzey arasındaki fiziksel etkileşim onların nasıl

emildiğini, yansıdığını veya iletildiğini belirler. Gördüğümüz görüntüleri milyarlarca fotonun

cisimlerden gözümüze ulaşması sonucu görürüz.



İleri Yönde Işın İzleme yöntemi ile bilgisayarda 3B görüntüler üretmek mümkündür yalnız bu

durumda görüntü üretimi için geçen zamanın çok büyük bir kısmı gerçekte görünmeyen

ışıkları modellemek için geçer. Çünkü gerçekte, ışık kaynağından saçılan ışınların çok azı

göze ulaşmaktadır. Bu model bilgisayar ortamında gerçeklenirken, göze ulaşamayan fotonlar

için çok sayıda gereksiz hesaplama yapılacaktır. Bu nedenle ileri yönde ışın izleme

yönteminin bilgisayar ortamında gerçeklenmesi oldukça zordur Çok fazla hesaplama zamanı

gerektiren bu yöntem pek kullanılmaz. İleri yönde ışın izleme yöntemi Şekil 2.1’de

gösterilmiştir.









Geri Yönlü Işın İzleme (Backward Ray Tracing) Yöntemi

Işınları gerçek hayattaki gibi ışık kaynağından bakış noktasına doğru yollamak yerine

bakış noktasından ışık kaynağına doğru yollamak hesaplama açısından daha etkin bir

yöntemdir. Göze ulaşmayan ışınların sisteme getireceği yükten kurtulmak için, sadece göze





4

ulaşan ışınlar için hesaplama yapılması istenir. Bu nedenle ışın izleme yönteminin bilgisayar

ortamında gerçeklenmesi için Geri Yönde Işın İzleme (Backward Ray Tracing) modeli

kullanılır. Bu modelde ileri yönde ışın izleme yönteminin tersine, ışınların gözden çıkarak

cisimlere çarpıp yansıması ya da kırılması sonucu ışık kaynağına ulaştığı kabul edilir. Bu

yaklaşım sayesinde ileri yönde ışın izleme yöntemindeki gibi ışık kaynağından çıkan tüm

ışınlar için değil, sadece göze ulaşabilen ışınlar için hesaplama yapılmış olur. O nedenle ışın

izleme denince genelde geri yönde ışın izleme anlaşılır.

Geri yönde ışın izleme yönteminde, gözlemcinin belli bir noktadan, görüntü düzlemine

dik olarak baktığı varsayılır. Bakış noktasından çıkıp görüntü düzleminden geçen ışınlar,

cisimlere çarptıktan sonra kırılarak veya yansıyarak ışık kaynağına ulaşıyorsa, ilgili pikselin

rengi ışık kaynağının konumuna, cisimlerin rengine, yansıtma ve geçirgenlik özelliklerine

göre belirlenir.Geri yönde ışın izleme modeli Şekil 2.2 ve Şekil 2.3’de gösterilmiştir.









Şekil 2.3. Geri yönde ışın izleme ile 3B görüntü üretimi









5

Gözlemcinin belli bir bakış noktasından baktığı varsayılır. Bakış noktasının önünde

görüntü düzlemi vardır. Görüntü düzlemi 3B görüntünün oluştuğu yerdir. Belli bir bakış

noktasından yollanan ve görüntü düzleminin her bir pikselinden geçen ışınlar, cisimlerden

yansıyarak ya da kırılarak ışık kaynağına ulaşıyorsa ilgili pikselin rengi ışık kaynağının

yerine, cisimlerin rengine, yansıtma ve geçirgenlik özelliklerine göre belirlenir. Eğer ışın en

son ışık kaynağına ulaşmamışsa ilgili piksel için bakış noktasından herhangi bir nesne

görünmüyor demektir ve o piksel siyah renge boyanır. Genellikle cisimlerden yansıyan ya da

kırılan ışınlar için belirli bir derinlik değeri tanımlanır. Yani belirli sayıda yansıyan ya da

kırılan ışın, ışık kaynağına ulaşmamışsa görünmediği varsayılır. Üretilecek görüntünün

kalitesini belirlemede bu değer önemlidir. Bu değer büyük seçilirse görüntü kalitesi yüksek

olur. Yalnız bu durumda hesaplama zamanı oldukça artar. Nesnelerin görüntü düzleminde

görüntülerinin oluşması için bakış noktasından başlayan bir pramidin içinde olmaları gerekir.

Buna Görüş Piramidi (Viewing Frustum) denir.



Işının Tanımı

Işın izleme yönteminin en temel bileşeni olan ışın, başlangıç noktası ve doğrultusu olan

vektörel bir büyüklüktür. Başlangıç noktası R ‘ dan çıkan ve normalize edilmiş R doğrultusu

0 d

boyunca ilerleyen R ışınını aşağıdaki gibi ifade etmek mümkündür



R = R + tR ,t > 0

0 d





Burada t, R doğrultusu boyunca giden R ışınının R başlangıç noktasına uzaklığıdır. t

d 0

değerinin R ile R arasındaki uzaklığa tam olarak eşit olması için R ’nin boyu 1 olmalı, yani

0 d d

Rd normalize edilmelidir. Bir ışının gösterimi Şekil 2.4’teki gibidir.









Şekil 2.4. Işın ve R boyunca ilerlemesi

d





Birincil Işınların Üretilmesi

İlk birincil ışının üretilmesi için bu ışının doğrultusunun belirlenmesi gerekir. Bunun

için formül yeniden R ‘ye göre düzenlenirse aşağıdaki ifadeyi elde edilir:

d









6

R =(R-R )/t

d 0









Şekil 2.5. Birincil ışınların üretimi



Yeni elde edilen formülde görüldüğü gibi ışının doğrultusunu bulmak için 3B uzayda iki

noktaya ihtiyaç vardır. Bunlardan birincisi R = [ 0 0 0 ] olan başlangıç noktasıdır. İkinci

0

nokta ise ilk pikselin koordinatlarıdır. Şekil 2.5. ‘ten de görüldüğü gibi bu R = [ -4 4 5 ]

noktasıdır. t değeri de yaklaşık 7.55 ‘tir. Bu değerler (2) ifadesinde yerine koyulursa R

d

aşağıdaki gibi hesaplanır



R = [ -4/7.55 4/7.55 5/7.55 ] = [ -0.529 0.529 0.662 ]

d





Formüldeki sayısal değerlere dikkat edilirse ( R - R ) ‘ın t ‘ye bölünmesi aynı zamanda

0

R ‘nin de normalize edilmiş halini verir. Çünkü elde edilen R ‘nin bileşenlerinin karelerinin

d d

toplamının karekökü yani R ‘nin boyu :

d





‘dir





R ‘nin bulunmasıyla ilk birincil ışın üretilmiş olur. Işın ifadesindeki t değerinin

d

hesaplanması için kesişim testlerinin yapılması gerekmektedir. Kesişim testi için ışının

başlangıç noktası R ve doğrultusu R ‘yi bilmek yeterlidir. Kesişim testleri yapılırken bu

0 d

değerler kullanılarak eğer kesişim varsa t değeri hesaplanır, geri döndürülür. Hesaplanan bu t

değeri yardımıyla ışının kesiştiği yüzey üzerindeki koordinatları hesaplanır. Eğer ışın bu

yüzeyden yansıyarak veya kırılarak yoluna devam edecekse bu koordinatlar yansıyan veya





7

kırılan ışın için yeni başlangıç noktası yani R olur. Yansıma veya kırılma doğrultuları

0

hesaplanır ve ışın yeni başlangıç noktası ve doğrultusu boyunca yollanır. Üretilen bu yeni

ışınlara İkincil Işınlar denir. İkincil ışınlar için de yine birincil ışınlar için yapılan işlemler

tekrarlanır. Işınlar yansıyıp kırıldıkça üçüncül, dördüncül... n. ‘cil olmak üzere yeni ışınlar

üretilir. Bu işlemler ışın ışık kaynağına ulaşıncaya kadar veya n derinlik değerine kadar

özyinelemeli (recursive) olarak tekrarlanır.



Şekil 2.5.’de basitlik açısından görüntü düzleminin hem piksel mertebesinde

çözünürlüğü 8x8 olduğu varsayıldı hem de eni ve boyu 8x8 birim alındı. Böylece piksel

koordinatları tam sayı oldu. Eğer çözünürlük 640x480 olsaydı, 8x8 birimlik görüntü

düzleminde herhangi bir (X,Y,5) noktasından geçen ışının piksel koordinatları (8*X/640 - 4, 4

– 8*Y/480, 5 ) olurdu. En basit ışın izleme uygulamalarında görüntü düzlemindeki her bir

piksele yalnızca bir tane birincil ışın yollanır. Bu durumda her bir piksel için bir örnekleme

yapıldığından üretilecek görüntüde bazı bozulmalar olabilmektedir. Özellikle doku kaplama

yapılmışsa bu bozulmalar daha da artabilmektedir. Bozulmaların temel sebebi bir pikselden

geçen ışının aynı anda nesnelerden iki veya daha çoğuyla birden kesişmesidir. Bu durumda

gerçekte o pikselin rengi bu kesişim noktalarından hangisine göre belirlenecektir? İşte bu

belirsiz durum görüntüde bazı hatalara neden olabilmektedir. Örnekleme hatasından

kaynaklanan bu tür bozulmalara aliasing etkisi denir. Bu problemin çözümlenmesi için

gelişmiş ışın izleme uygulamalarında bir piksele 1’den fazla ışın yollanır. Supersampling adı

verilen yönteme göre bu ışınlar için hesaplanan renk değerlerinin ortalaması alınarak ilgili

pikselin rengi belirlenir.





Görünmeyen Yüzeylerin Kaldırılması

Işın izleme yöntemi görünmeyen yüzeyleri kaldırırken diğer yöntemlerden farklı bir yol

izler. Diğer yöntemler görünmeyen yüzeyleri kaldırırken poligonları esas alırlar. Nesneler çok

sayıda poligonlara parçalanır. Genelde kullanılan poligon türü üçgenlerdir. Görünmeyen

yüzeylerin kaldırılması poligonlar mertebesinde yapıldığından bu tür tekniklerle üretilen

görüntülerde poligonların kenarları belli olmaktadır. Bu hatayı gidermek için poligonların

piksellere sığacak kadar küçük seçilmesi gerekmektedir. Görünmeyen yüzeylerin

kaldırılmasının, gözlemci tarafından 3B nesnelere bakıldığında, manzaradaki cisimleri

oluşturan yüzeylerden görünmeyenlerin kaldırılması, dolayısı ile görünenlerin belirlenmesi

işlemine verilen ad olduğunu belirtmiştik.

Işın izleme yöntemi görünmeyen yüzeyleri kaldırırken piksel mertebesinde hassas

çalıştığından sanki yüzeyler piksel boyunda poligonlara bölünmüş gibi ele alınır. Bakış

noktasına göre aynı doğrultuda bulunan yüzeylerden, t uzaklığı en küçük olanı seçilmelidir.

İlgili pikselin renk değeri hesaplanırken, seçilen bu yüzey esas alınır, diğerleri göz ardı edilir.

Böylece eğrisel yüzeylerde bile yüksel doğrulukta görüntüler elde edilir.

Işın izleme görünmeyen yüzeyleri kaldırmayı piksel mertebesinde gerçekler. Üstelik

bütün pikseller birbirinden bağımsız olarak işlenir. Bakış noktasından yollanan ve her bir

pikselden geçen ışınlar ile nesneleri oluşturan yüzeylerle kesişim testleri yapılır. Herhangi bir

pikselden geçen ışın doğrultusu boyunca 1’den fazla kesişim söz konusu ise hesaplanan t

uzaklık değerleri sıralanır. Nesnelerin geçirgenlik özellikleri de göz önüne alınarak en yakın

yüzey bakış noktasından görünen yüzeydir. Diğer yüzeyler görünmeyen yüzeylerdir ve

kaldırılır.

Görünmeyen yüzeylerin kaldırılmasında kullanılan başlıca yöntemler Derinlik Tamponu

(Z-Buffer) ve Işın İzleme (Ray Tracing) ’dir. Derinlik tamponu yönteminde üç boyutlu

cisimlerin iki boyutlu görüntü düzlemine izdüşümü alınırken, ilgili pikselin renk değerinin





8

yanı sıra cisimle kesişim noktasının Z değeri de saklanır. Aynı piksel için yeni bir cisim

kesişimi algılandığında Z değerleri karşılaştırılır. Yeni Z değeri eskisinden küçükse bu

pikselin rengi yeni cismin rengi ile değiştirilir ve Z değeri yenisiyle güncellenir.

Dikkat edilirse, Z Buffer yöntemi ve benzeri tüm diğer yöntemlerde kullanılan poligon

türü üçgen olmasına rağmen, ışın izlemede işlemler yönteminde piksel mertebesinde

gerçekleştirilir. Bu sayede eğrisel yüzeylerde bile iyi sonuçlar elde edilir. Diğer yöntemlerde

bu derece gerçekçi sonuçlar elde etmek için poligonların son derece küçük seçilerek bir piksel

boyutuna indirilmesi gerekir ki oldukça zor, hatta imkansız denilebilir.

Görünmeyen yüzeylerin kaldırılmasıyla ilgili bir konu da Arka Yüz Kaldırma (Backface

Culling) ‘dır. Herhangi bir bakış noktasından yollanan ışın doğrultusu boyunca kesişen

yüzeylerin bazıları bakış noktasına bakmayabilir. Normalde bakış noktasından görünmesi

imkansız olan yüzeyler için kesişim testi yapmak mantıksızdır. O nedenle kesişim testlerinin

başında arka yüzler belirlenir ve kaldırılır. Böylece kesişim testleri hızlandırılır.





Arka Yüzeylerin Kaldırılması (Backface Culling)



Görünmeyen yüzeylerle ilgili diğer bir konu da arka yüzeylerin kaldırılmasıdır. Arka

yüzeyler, bakış noktasından bakıldığında asla görülemeyecek olan yüzeylerdir. Örneğin dik

olarak bakılan bir küpün arka yüzeyi asla görülemez. Bu yüzeylerin kaldırılması ışın izleme

yönteminin hızlanmasını sağlar. Bununla birlikte arka yüzeylerin kaldırılması ışın izleme

yöntemi ile çok kolay gerçekleştirilebilir.



Işın-Nesne Kesişim Testleri

Işın izlemenin en önemli aşaması ışın-nesne kesişim testleridir. Bu testlerde, kesişimi

araştırılacak cismin matematiksel denklemi ile ışının başlangıç noktası ve doğrultusunun

koordinatları kullanılır. Bakış noktasından belli bir doğru boyunca yollanan birincil ışının 3B

nesnelerden hangileriyle kesiştiği belirlenmelidir. Kesişim testleri sonucu kesişim noktasının

koordinatları ve kesişim noktasına uzaklık olan t değeri hesaplanır. Aynı doğrultu boyunca 1’

den fazla kesişim varsa görünmeyen yüzeyleri kaldırmak için t değerleri kullanılır. Aynı

doğrultuda birden fazla kesişim noktası bulunabilir. Bu durumda en küçük t değeri esas alınır.

Böylece görünmeyen yüzeyler kaldırılmış olur.

Işın izleme yöntemiyle görüntü üretiminde hesaplama süresinin çoğu kesişim testlerine

harcanmaktadır. O nedenle kesişim testlerinin hızlı yapılması gerekmektedir. Test süresini

azaltılmak için çeşitli algoritmalar geliştirilmiştir. Genellikle 3B nesneler üçgenlerden

oluşturulduğu için ışın-üçgen kesişimi için birçok algoritma geliştirilmiştir. Bu bölümde de

ağırlıklı olarak ışın-üçgen kesişim testleri anlatılacaktır.





Skaler Çarpım

İki vektörün skaler çarpım değeri karşılıklı olarak x, y ve z değerlerinin çarpımlarının

toplamına eşittir. Skaler çarpımı * sembolü ile temsil edilirse V1 ve V2 vektörlerinin skaler

çarpımı aşağıdaki gibi hesaplanır:



V1 * V2 = (V1X * V2X) + (V1Y * V2Y ) + (V1Z * V2Z)



V1 ve V2 vektörlerinin boyunun 1 birim olduğu, yani her iki vektörün de normalize

olduğu durumda, bu iki vektörün skaler çarpımı iki vektörün arasındaki açının kosinüs





9

değerini verir. İki vektör arasındaki açının kosinüsü difüz aydınlatmada kullanılır. Skaler

çarpım Şekil 2.6’te gösterilmiştir.









Şekil 2.6. Skaler çarpım





Vektörel Çarpım

Vektörel çarpım işlemini x sembolüyle temsil edersek V1 ve V2 vektörlerinin vektörel

çarpımı aşağıdaki gibi hesaplanır:

V1 x V2 = [ V1Y* V2Z - V1Z* V2Y V1Z* V2X - V1X* V2Z V1X* V2Y - V1Y* V2X ]

(2.6)

Vektörel çarpım, ışın izleme yönteminde üçgenlerin normalini bulmak için kullanılır.

Yansıyan veya kırılan ışınların yeni doğrultularının hesaplanması için yüzeye dik olan

vektörün, yani yüzey normalinin, bilinmesi gerekir.

Difüz ve speküler aydınlatma yapılırken de yüzey normali kullanılır. Ayrıca arka

yüzey kaldırmada da hangi yüzün arka yüzey olduğunu belirlerlerken yüzey normali esas

alınır. Bakış noktası ile arasında 90°’den daha büyük açı bulunan yüzeyler, arka yüzey kabul

edilir.

Tüm bu işlemlerde kullanılacak olan yüzey normalinin birim vektör olması, yeni

normalize olması, gerekir.

Köşe noktaları V0 ,V1 ve V2 olan üçgenin yüzey normalinin vektörel çarpımla

hesaplanışı Şekil 2.7’ da gösterilmiştir.









Şekil 2.7. Vektörel çarpım





Barisentrik Koordinatlar (Barycentric Coordinates)

Üçgenin bir köşesinden başlayarak kenarları belli katsayılarla çarpılıp vektörel olarak bu

köşeye eklendiğinde üçgen içinde istenilen noktaya gitmek mümkündür. Kenarları çarpmada









10

kullanılan katsayılara barisentrik koordinatlar denir. Üçgen içindeki herhangi bir noktanın

barisentrik koordinatlar cinsinden nasıl hesaplandığına dair vektörel ifade aşağıda verilmiştir .



t(u,v) = V + u(V -V ) + v(V -V )

0 1 0 2 0

Burada u ve v barisentrik koordinatlardır ve u ve v için u≥ 0, v 0, u+v ≥≤ 1 şartı

sağlanmalıdır.Yukarıdaki ifadeden anlaşılacağı gibi üçgenin V köşesinden başlanılarak

0

(V -V ) kenarı boyunca u kadar, (V -V ) kenarı boyunca da v kadar gidildiğinde yani V

1 0 2 0 0

vektörüne önce u(V -V ) sonra da v(V -V ) vektörü eklendiğinde üçgen içinde istenilen

1 0 2 0

herhangi bir noktaya gitmek mümkündür. Bu durum Şekil 2.8. ‘te vektörel olarak

gösterilmiştir.









Şekil 2.8. Barisentrik koordinatlar









Şekil 2.9. Barisentrik koordinatların değişimi





Işın-Yüzey Kesişim Testi

(0,0,0) noktasından uzaklığı D olan P = [ A B C ] normaline sahip bir P yüzeyinin

n

denklemi aşağıdaki gibi verilebilir:

Ax + By + Cz + D = 0 (1)





11

Şekil 2.10. Yüzey ifadesinin grafiksel gösterimi



Şekil 2.10.‘da yüzey ve onun normali gösterilmiştir. 3B uzayda bir yüzeyin

tanımlanabilmesi için o yüzeyin üzerindeki en az 3 noktanın bilinmesi gerekir. Öyleyse bir

üçgenin köşe noktaları biliniyorsa onun üzerinde oturduğu düzlemin denklemini belirlemek

mümkündür. Köşelerinin koordinatları V = (1,2,4), V = (3,3,4), V = (4,1,4) olan üçgenin

0 1 2

yüzey denkleminin nasıl hesaplandığı aşağıda gösterilmiştir:



Yüzey denkleminin hesaplanması (1) ‘de P yüzeyinin ifadesindeki A, B, C ve D

katsayılarının bulunmasından ibarettir. Yüzey denklemindeki A, B ve C katsayıları yüzey

normalinin x, y ve z ‘sidir. Üçgenin köşe noktaları kullanılarak yüzey normalini hesaplamak

mümkündür. Yüzey normali P = [A B C] ( V - V ) ile ( V – V ) ‘ın vektörlerinin vektörel

n 1 0 2 0

çarpımından P = [A B C] = [ 0 0 -5 ] olarak bulunur.

n

Üçgenin üç köşe noktası da yüzey denklemini sağlayacağından bunlardan V ’ ı

0

kullanarak D katsayısı aşağıdaki gibi hesaplanabilir:



0*1 + 0*2 + (-5)*4 + D = 0

D = 20



Sonuç olarak düzlem ifadesi -5z + 20 = 0 ya da z = 4 olarak bulunur.

Işın ifadesinin R = R + tR olduğu biliniyor. Eğer ışın yüzeyle kesişiyorsa kesişim

0 d

noktası için R ışınının x, y, z değerleri ile P yüzeyinin o noktadaki x, y, z değerleri aynı

olmalıdır. Buradan şöyle yazılabilir:

A( X + tX ) + B( Y + tY ) + C( Z + tZ ) + D = 0

0 d 0 d 0 d

İfade t ‘ye göre düzenlenirse başlangıç noktasıyla kesişim noktası arasındaki uzaklık

değeri olan t için aşağıdaki ifade elde edilmiş olur:



t = - ( AX + BY + CZ + D ) / (AX + BY + CZ )

0 0 0 d d d

t ‘nin vektörel gösterimi şöyledir:



t = -( P * R + D ) / ( P * R )

n 0 n d

P * R = 0 ise ışın yüzeye paraleldir.

n d

t 0 için kesişim vardır ve kesişim noktası R aşağıdaki gibi hesaplanır:

i

R = [ x y z ] = [ X + tX Y + tY Z + tZ ]

i i i i 0 d 0 d 0 d









12

Işın-yüzey kesişimi için sayısal bir örnek aşağıda verilmiştir:

Kesişim testi yapılacak yüzey P = [ 1 0 0 -7] olsun. ( x = 7 yüzeyi )

Işının başlangıç noktası R = [ 2 3 4 ] olsun.

0

Işının doğrultusu R = [ 0.577 0.577 0.577 ] olsun.

d

t = 5 / 0.577 = 8.66

t değeri 0 ‘dan büyük olduğu için kesişim vardır. Işının yüzey üzerindeki koordinatları

aşağıdaki gibi hesaplanır :

x = 2 + 0.577 * 8.66 = 7

i

y = 3 + 0.577 * 8.66 = 8

i

z = 4 + 0.577 * 8.66 = 9

i

R = [ 7 8 9 ] olarak bulunur.

i





Alan Hesabıyla Işın-Üçgen Kesişim Testi

Işın-Üçgen kesişim testleri içinde en basit yöntem alan testidir. Bu yönteme göre önce

ışın-yüzey kesişim testi yapılır. Ardından ışın ve yüzeyi oluşturan üçgenin köşe noktalarının

görüntü düzlemine perspektif izdüşümleri alınır. Yüzeyle kesişen ışının üçgenin içinde olup

olmadığının belirlenmesi için kesişim noktasıyla üçgenin köşelerinden ikişer tane alınarak 3

tane alt üçgen belirlenir ve bunların alanları hesaplanır. Hesaplanan bu alan değerleri toplanır.

Toplam alan değeri kesişim testi yapılan üçgenin alanına eşit oluyorsa ışın üçgenin içindedir.

Aksi halde dışındadır. Şekil 2.11. ‘de alan testinin nasıl yapıldığı gösterilmektedir.









Şekil 2.11. Alan testi



Açı Hesabı ile Işın -Üçgen Kesişim Testi

Işın düzlem kesişim testinden elde edilen kesişim noktasının üçgenin içerisinde olup

olmadığının kontrolü için kullanılan diğer bir yöntem de açı testidir. Yine ilk olarak ışın –

yüzey kesişim testi yapılmalıdır. Daha sonra ışın ve yüzeyi oluşturan üçgenini köşe noktaları

görüntü düzlemine perspektif olarak izdüşürülür. Kesişim noktası ile üçgenin ikişer noktası

sıra ile alınarak üç tane üçgen elde edilir. Bu üçgenlerin I noktasını merkez nokta kabul eden

açıları hesaplanarak toplanır. Elde edilen toplam açı 360° ise ışın üçgenin içindedir yani ışın

ile üçgen kesişmektedir denir. Şekil 2.12’de açı hesabı ile ışın – üçgen kesişim testinin nasıl

yapıldığı gösterilmiştir.









13

Şekil 2.12:Açı hesabı ile ışın üçgen kesişim testi









Işın izleme ile üretilmiş bir küre









14

Gölgeler (Shadows)

Bir yüzeye ışığın gelmesini engelleyen başka bir yüzey varsa, ışığın ulaşamadığı

yüzey gölgede kalmış olur.Yüzeyin gölgede olup olmadığını belirlemek için kesişim

noktasından ışık kaynağına gölge test etme ışını yollanır. Gölge testi için, kesişim noktasından

ışık kaynağına yollanan ışınlar ile diğer nesnelerin kesişimleri araştırılır. Eğer kesişim tespit

edilirse yüzey gölgelenir.

Gölge testi için yollanan ışın herhangi bir nesne ile kesiştiğinde bu nesnenin o yüzeyi

gölgede bırakabilmesi için nesnenin ışık kaynağı ile yüzey arasında olması gerekir. Yani

nesnenin yüzeye olan uzaklığının ışık kaynağının yüzeye olan uzaklığından küçük olması

gerekir.

Gölge testi için yollanın ışın klasik ışın izleme uygulamalarında her bir ışık kaynağına

birer tanedir. Bu durumda gölgelerin kenarlarında kırılmalar olabilmektedir. Gölgelerin

kenarlarını yumuşatmak için gelişmiş ışın izleme uygulamalarında yüzeyden ışık kaynağına

1’ den fazla ışın yollanır.

Gölgelemenin nasıl hesaplandığı Şekil 2.13’da gösterilmiştir.









Şekil 2.13. Gölgenin Oluşumu









Gölgelenmenin nasıl hesaplandığına dair başka bir şekil.









15

Işın izleme yöntemi kullanılarak elde edilen gölge örnekleri aşağıda sunulmuştur:









Tek yüzeyde oluşan gölge









Üç yüzeyde birden oluşan gölge



Aynasal Yansıma

Diğer yöntemlerde çok zor tanımlanmasına rağmen, ışın izleme yönteminde yansıyan

ve kırılan ışınlar mükemmel şekilde modellenebilir. Böylece son derece gerçekçi görüntüler

elde edilebilir.

Eğer bir yüzeyin yansıtıcılık özelliği varsa, bu yüzeye çarparak yansıyan ışın diğer bir

yüzeye çarptığında, bu yüzeyin rengi yansıtıcılık özelliği bulunan yüzey üzerinde görülür.

Elbette bu işlem için de derinliği belirlenmiş özyinelemeli bir algoritma koşulmalıdır.









16

Yansıma değerinin belirlenmesi oldukça kolay bir işlemdir. Gerekli olan bir nokta ve bir

doğrultudur. Nokta, ışın ile yansıtıcı yüzeyin kesişim noktasıdır ki artık yeni bir başlangıç

noktası olmuştur. Bu noktadan yansıyacak olan ışının doğrultusu , gelen ışının doğrultusuna

ve normale bağlıdır. Zira gelen ışın ile normal arasındaki açı, yansıyan ışın ile normal

arasındaki açıya eşit olmalıdır. N ilgili yüzeyin normali, I gelen ışının olmak üzere Rref

yansıma doğrultusu aşağıdaki gibi hesaplanır :

Rref = I – 2 ( I * N ) * N

Yansıma doğrultusunun hesaplanması Şekil 2.14’da gösterilmiştir









Şekil 2.14: Yansıyan ışının doğrultu vektörünün hesaplanması









Yansıma örneği için üretilen bir şekil



POV-Ray gibi ışın izleme programları ise simüle edilen bir kamera ile başlarlar ve ışık

ışınlarını sahneye yollarlar. Kullanıcı kameranın, ışık kaynaklarının, nesnelerin yerini ve

bunların yüzey özelliklerini belirler, eğer isterse sahneye sis, duman, ateş gibi atmosferik

etkiler de ekleyebilir.

Sonuç görüntüdeki her piksel için bir ya da daha çok ışın kameradan sahneye yöneltilir ve

sahnedeki bir nesne ile kesişip kesişmediğine bakılır. Kameradan çıkan bu ışının bir nesneyi

kestiği her noktadaki yüzey rengi hesaplanır. Bunun için ışınlar sahnedeki her ışık kaynağına

da yönlendirilir ve böylece kaynaklardan gelen ışık miktarı da hesaplanır. Benzer şekilde her

yüzey noktasının gölgede kalıp kalmadığı hesaplanır. Yüzeyin şeffaf olup olmamasına göre

de ne kadar ışığı geçirdiği ve ne kadar ışık kırılmasına yol açtığı da hesaplanarak nihai renk

belirlenir.







17

IŞIN İZLEME METODUNUN İYİLEŞTİRİLMESİ

Önceki konularda ışın izleme metodunun bilgisayar ortamına nasıl aktarıldığı anlatıldı.

Ancak bu çalışmanın asıl amacı ışın izleme metodunun iyileştirilerek, ortam (ambient )

bileşeninin yerine foton bileşeninin kullanılmasıdır. Işın izleme yönteminin en temel problemi

olan dolaylı aydınlatma işlemi bu kısımda anlatılacak, ambient bileşenin yerine kullanılacak

olan foton bileşenin hesaplanması incelenecektir.



Dolaylı Aydınlatma ( Indirect Illumination )

Işın izleme yöntemine göre, gerçek manzarada aydınlık olan bazı kısımlar karanlık

görüntülenmektedir. Bunun nedeni ışık kaynağı tarafından doğrudan aydınlatılmamasına

rağmen, yansıyan veya kırılan ışınlar tarafından aydınlatılan yüzeylerin bulunmasıdır.

Doğrudan aydınlatılmayan bu yüzeylerin renk değerlerini hesaplamak üzere yapılan işlemlere

Dolaylı Aydınlatma (Indirect Illumination ) denir. Dolaylı aydınlatma tekniği ile ilgili en

dikkat çekici çalışma Henric Wann Jensen tarafından geliştirilen Photon Mapping yöntemidir.

Bununla birlikte Monte Carlo Ray Tracing yöntemi de dikkate değer diğer bir çalışma olarak

gösterilebilir. Biz bu çalışmamızda basitleştirilmiş bir Photon Mapping uygulaması

gerçekleştireceğiz. Zira Photon Mapping yöntemi, başlı balına bir doktora tezi konusu olacak

kadar geniştir.



Ambient, diffuse ve specular bileşenler biraya getirilerek bir aydınlatma modeli ortaya

koyabiliriz. Aydınlatma modelini yerel aydınlatma modeli (local lighting model) diye

adlandırmak daha doğrudur. Çünkü burada yalnızca ışın kaynağından gelen ışınlar hesaba

katılmıştır. Farklı yüzeylerden yansıyan ışınların ektisini aydınlatma modeline katabilmek

için ambient bileşen kullanılmıştır. Sonuçta yerel aydınlatma modeli ifadesi aşağıdaki gibidir:

i =i +i +i

top amb dif spec



Gerçekte ışık nesneleri aralarındaki uzaklığın karesiyle ters orantılı olarak aydınlatır.

Ters orantılı katsayı d olmak üzere d ‘nin ifadesi aşağıdaki gibidir:

2

d = 1/ || s - p||

pos



Bu ifadede s ışık kaynağını yeri, p de aydınlatılacak noktadır. d katsayısı aydınlatma

pos

modeline eklendiğinde son hali aşağıdaki gibi olur.

i = i + d(i + i )

top amb dif spec





Aydınlatma modelinde kullanılan bileşenler Şekil 2.15. (a), (b), (c) ‘ de gösterilmiştir.

Şekil 2.15. (d) ‘de de bileşenlerin tamamı kullanılarak elde edilen görüntü verilmiştir.









18

Şekil 2.15. Aydınlatma modelinin bileşenleri



Foton Mapping ( Photon Mapping )

Photon mapping yönteminde belirlenen sayıda ışın, ışık kaynağından rasgele

doğrultularda etrafa saçılır. Her bir ışının yüzeylerden yansıması hesaplanarak tekrar

gönderilir. Anlaşılacağı üzere bu işlem derinliği önceden belirlenmiş özyinelemeli bir

algoritmayı gerekli kılar. Herhangi bir pikselin renk değeri hesaplanırken, bu pikselin r kadar

yakınına çarpan fotonların varlığı araştırılır. Eğer sonuç olumlu ise ilgili pikselin renk

değerinin hesaplanmasında bu foton da hesaba katılmalıdır. Anlaşılacağı üzere, Geri Yönde

Işın İzleme Yöntemi ile birlikte kullanılan Photon Mapping Yöntemi, geri yönde ışın izleme

algoritmasının iyi yönleri ile ileri yönde ışın izleme algoritmasının iyi yönlerinin birleştirilmiş

hali gibidir. Photon Mapping yöntemi şekil 2.16’de gösterilmiştir.









19

Şekil 2.16. Foton Mapping



Foton Mapping’in Gerçekçi Kılınması

Foton mapping algoritmasının etkisinin gerçekçi olması için, fotondan kaynaklanan

renk değeri, yüzeyin o noktadaki difüz bileşenine bağlı olarak hesaplanmalıdır. Ayrıca r

değerinin küçük seçilmesi doğrultu vektörlerinin de birbirine yakın olmasını sağlayabilir. Bu

sayede sadece çarpan fotonların varlığının araştırılması yeterli olacaktır. Aksi taktirde her bir

fotonu hesaba katmadan önce yansıma doğrultularını da incelemek gerekir. İleri düzeyli

uygulamalarda en gerçekçi sonuçların elde edilebilmesi için r çok küçük seçilmekler birlikte,

her bir foton için yansıma doğrultusu da hesaplanmalıdır. Zira şekil 4.1’de önce sol duvardan,

sonra da tabandan yansıyarak masanın altına çarpan fotonun yansıma doğrultusu, bakış

noktasına doğru değildir. Ancak basitleştirilmiş olan bu uygulamada yansıma doğrultuları göz

ardı edilmiştir.

Dikkat edilmesi gereken diğer bir husus da foton sayısının optimum olmasıdır. Zira az

sayıda fotonun kullanılması istenen etkiyi oluşturmayacak, gereğinden fazla sayıda fotonun

kullanılması da sisteme fazladan bir yük getirecektir. Ayrıca yüzeylere ışığı yutucu özelliğin

eklenmesi de gerçekçi görünüm elde edilmesine yardımcı olur. Bu bağlamda her yüzey

yansımasından sonra, fotonların bir kısmı rasgele olarak sönümlenmiş kabul edilebilir.

Böylece özyinelemeli algoritma her seferinde daha az foton için hesaplama yapacaktır.

Bununla birlikte rasgele doğrultuların hesaplanması da sisteme ayrıca bir yük getirebilir. Bu

sebeple rasgele doğrultuları programın başında bir defa hesaplayıp tekrar tekrar kullanma

yoluna gidilebilir. Aslında en iyisi bu rasgele doğrultuları önceden hesaplayarak bir dosyada

saklamak ve daha sonra ihtiyaç oldukça oradan okumaktır. Çalışmamızda bu rasgele

doğrultular bir dosyadan okunmaktadır.

Rasgele doğrultular hesaplanırken işe yaramayacak doğrultuların oluşturulması

engellenebilir. Örneğin tavana yapışık bulunan bir ışık kaynağı için yukarı doğru foton

göndermek anlamsız olacaktır. Ayrıca, rasgele doğrultular her uygulamada istenen neticeyi

vermeyebilir. Bu nedenle Yarımküre Geometrisi ( Hemispherical Geometry ) tekniği

kullanılabilir.









20

Foton Doğrultularının Hesaplanması

Foton Mapping yönteminin ilk aşaması, ışık kaynağından gönderilecek olan fotonların

doğrultularının belirlenmesidir. Noktasal ışık kaynağını merkez kabul eden ve doğrultusu

belirlenen fotonlar, kesişim testleri yapılmak üzere yüzeylere gönderilirler. Her kesişim

noktası için yansıma doğrultusu belirlenir. Eğer ışın sönümlendirilmeyecekse ve iterasyon

sona ermediyse işlem özyinelemeli olarak tekrar edilir. Sonuçta ilgili pikselin renk değeri

hesaplanırken bu kesişimler kontrol edilir.

Foton doğrultuları hesaplanırken birim kürenin analitik ifadelerinden faydalanılır.

Orijini merkez kabul eden kürenin analitik ifadesi aşağıdaki gibidir:

x2 + y2 + z2 = r2 (2)

2 ifadesindeki x, y ve z, Rph foton doğrultusunu belirleyen vektörün elemanlarıdır. Bu

vektörün birim vektör olması, yani normalize edilmesi önemlidir. Bu sebeple r = 1 alınırsa

elde edilen vektör birim vektör olacağından Rph normalize edilmiş olunur. Böylece 2 ifadesi

aşağıdaki hale dönüşür :

x2 + y2 + z2 = 1 (3)

3 ifadesi, belirlenen foton doğrultularının sağlaması gereken nihai ifadedir. Ancak

daha önce bu doğrultuyu oluşturacak x, y ve z bileşenlerinin hesaplanması gerekir. Eğer ışık

kaynağı herhangi bir yüzeye yapışık değilse, x, y ve z bileşenlerinin her birisi [ -1 1]

aralığında herhangi bir reel sayıyı ifade etmelidir. Bu sebeple random sayıları üreten

fonksiyonun yalancı dil kodu (pseudocode) genel olarak aşağıdaki gibi olabilir :



double random_sayi = ( double alt_sinir , double ust_sinir , int carpan); 1: alt = alt_sinir *

carpan 2: ust = ust_sinir * carpan 3: sayi = random ( alt , ust ) 4: sayi = sayi / carpan 5: return

( sayi ) ;



Yukarıdaki kodda bulunan carpan değeri, random sayı üretecinin hassasiyetini

artırmak için kullanılmaktadır. Aksi taktirde random sayı üreteci [ -1 1 ] aralığında tamamen

rasgele sayılar üretemez. Ayrıca alt_sinir ve ust_sinir değişkenleri, üretilen rasgele sayının

alabileceği en büyük ve en küçük değerleri temsil etmektedir. Foton doğrultularının üretilmesi

Şekil 2.17’de gösterilmiştir.









Şekil 2.17. Rasgele doğrultular ile Rph’nin üretilmesi









21

Doğrultu Vektörlerinin Sınırlandırılması

Tamamen rasgele doğrultularda üretilen fotonların bir kısmının işe yaramayacağına

daha önceden değinilmişti. Bu sebeple doğrultu vektörlerinin sınırlandırılması

gerçekleştirilmelidir. İşe yaramayacak olan doğrultu vektörlerinin sınırlandırılması,

algoritmayı önemli ölçüde hızlandıracaktır.

Doğrultu vektörü yalancı koddaki ifadeler kullanılarak üretilen fotonlar, küre içindeki

herhangi bir doğrultuda ilerleyebilirler. Ancak bu her zaman istenen bir durum değildir. Eğer

ışık kaynağı tavana yapışık halde ise doğrultu vektörünün y değeri, sadece negatif değerler

almalıdır. Zira y’nin pozitif değerleri, fotonların tavandan yukarı doğru hareket etmesini

gerektirir. Bu sebeple Rph hesaplanırken birim küre yerine, birim kürenin yarısı

kullanılmalıdır. Bu durum Şekil 2.18’te gösterilmiştir.









Şekil 2.18. Birim kürenin yarısı kullanılarak Rph’ın üretilmesi



Şekil 2.18’teki yarım küreye uygun doğrultu vektörlerinin üretilmesi için y değerleri

hesaplanırken alt sınır olarak 0 değeri girilmelidir.



Eğer ışık kaynağı odanın herhangi iki yüzeyinin kesiştiği doğru üzerindeki bir noktada

ise Rph hesaplanırken bu kez birim kürenin 1 / 4’ü kullanılmalıdır. Bu durum Şekil 2.19’te

gösterilmiştir.









Şekil 2.18. Birim kürenin 1\4’ü kullanılarak Rph’ın üretilmesi



Şekil 2.18’teki çeyrek küreye uygun doğrultu vektörlerinin hesaplanması için, y ve x

değerleri hesaplanırken alt sınır olarak 0 değeri girilmelidir.









22

Bu çalışmada odanın tavanını aydınlatmak üzerine yoğunlaşıldığı için, doğrultu

vektörlerini hesapladığımız küre uygun şeklide kırpılmıştır. Yansıdıktan sonra tavanı

aydınlatacak olan doğrultu vektörlerini üretmek için kırpılan küre Şekil 2.19’te gösterilmiştir.









Şekil 2.19. Kırpılmış birim küre



Şekil 2.19’tdaki kırpılmış küreye uygun doğrultu vektörlerinin hesaplanması için x, y

ve z değerleri hesaplanırken simülasyonu yapılan odanın boyutları göz önüne alınarak ayrı

ayrı alt ve üst sınırlar belirlenmiştir.







Çalışmalar sonucunda elde edilen görüntüler aşağıda sunulmuştur:









Foton Mapping uygulanmadan elde edilen görüntü.









23

Işın izleme yöntemine 5000 foton eklenerek elde edilen görüntü.







YAPILAN ÇALIŞMALAR

Çalışmalarda öncelikle ışın izleme yöntemiyle 3B görüntü üretimi gerçeklenmeye

çalışılmıştır. Çeşitli ışın-üçgen kesişim testleri denenmiştir. Görünmeyen yüzeylerin

kaldırılması yapılmıştır. Doku kaplama yapılmıştır. Doku kaplamada karşılaşılan aliasing

problemi supersampling yapılarak çözümlenmiştir. Piksel rengini belirlemede Phong

aydınlatma modeli kullanılmıştır. Buna göre her bir pikselin ambient, diffuse ve specular

bileşeni hesaplanmıştır.

Yansıyan ışınlar modellenmiş ve farklı derinlik değerleri için yansıma ile görünen

nesneler hatasız modellenmiştir. Ayrıca kırılma da fiziksel gerçeklere uygun bir şekilde

(kırılma indisleri de hesaba katılarak) modellenmiştir. Yansıyan ve kırılan ışınlar için ışın

izleme algoritması özyinelemeli olarak yansıma ve kırılma doğrultuları için yeniden

koşturmuştur. Bu yapısıyla algoritma genellik taşımaktadır.

Paralel programlamada Master-Slave yaklaşımı modellenmiştir. Ana bilgisayar (Master)

işi parçalara ayırıp diğer bilgisayarlara (Slave) yollamış ve onlardan gelen sonuçları bir araya

getirmiştir. Multithreaded programlama yapılmış ve buna göre ana bilgisayarda her bir

bilgisayar için bir thread başlatılmıştır. Paralel hesaplama yapılırken diğer bilgisayarlar

threadlerle kontrol edilmiştir. Networkteki bilgisayar sayısı arttırıldıkça speedupın da lineere

yakın oranda arttığı gözlemlenmiştir.





Özyinelemeli Işın İzleme Programının Tasarlanması

Özyinelemeli ışın izleme algoritması birincil ışınların üretilmesiyle başlar. Birincil ışınlar

bakış noktasından çıkan ve görüntü düzlemindeki piksellerin her birinden geçen ışınlardır.

Yollanan birincil ışınlar ile 3B nesneler arasında kesişim testleri yapılır ve kesişimler için t

uzaklık değerleri hesaplanır. Bu t değerleri sıralanarak en yakın kesişim bulunur. Böylece

görünmeyen yüzeylerin kaldırılması işlemi de yapılmış olur. En yakın nesnenin rengi

kullanılarak birincil ışının geçtiği pikselin rengi için aydınlatma modelinin ambient, diffuse ve





24

specular bileşenleri hesaplanır. Bu nesne ışığı yansıtan veya kıran özelliğe sahip ise yansıma

veya kırılma doğrultuları hesaplanır ve birincil ışınlar için yapılan işlemler özyinelemeli

(recursive) olarak tekrarlanır. Birincil ışınlar, yansıyan veya kırılan ışınlar için bulunan renk

değerleri, toplamları 1 olan katsayılarla çarpılarak genel aydınlatma modeli ile pikselin gerçek

rengi belirlenir. Böylece piksel üzerinde yalnızca birincil ışının ilk çarptığı yüzeyin değil aynı

zamanda yansıyarak veya kırılarak da çarptığı yüzeylerin renkleri de görünür.



Birincil Işınların Üretilmesi, Kesişim Testleri ve Gölge Testi

Birincil ışınların üretilmesi için başlangıç noktasının ve görüntü düzleminde geçtiği

pikselin koordinatlarının bilinmesi yeterlidir. Yapılan çalışmalarda genellikle başlangıç

noktası (0,0,0) olarak alınmıştır. Görüntü düzlemi 10x10 birim alınmıştır. Bakış noktasının

görüntü düzleminin merkezine dik olarak 12 birim geride olduğu başka bir deyişle görüntü

düzleminin merkezinin koordinatlarının (0,0,12) olduğu varsayılmıştır. Burada neden 11 veya

13 değil de 12 diye bir soru akla gelebilir. 12 rakamının seçilmesinin özel bir nedeni vardır.

Fiziksel olarak gözün görüş açısı φ aşağıdaki ifade ile hesaplanır [1]:

φ = 2arctan(w/2d)

Bu ifadede w nesnenin görüş doğrultusuna dik genişliği, d ise nesnenin uzaklığıdır.

36mm görüntü genişliğine (frame size) ve 50mm lens uzaklığına sahşp kamera için bu açı φ =

2arctan(36/(2*50)) = 39.6 derece olmaktadır. Üretilen görüntüler için görüntü düzlemi 10x10

birim alındığında yani w=10 olduğunda 39.6 derecelik görüş açısı elde edebilmek için

görüntü düzleminin bakış noktasından yaklaşık 12 birim ileride olması gerekmektedir.

Üretilecek görüntünün çözünürliğü 400x400 olduğunda piksel koordinatları (10*X/400 -

5, 5 – 10*Y/400, 12 ) ifadesiyle hesaplanır.

Birincil ışının üretilmesi onun doğrultusunu belirlemek demektir. Bunun için piksel

koordinatlarından bakış noktasının koordinatlarının farkı alınır ve bu fark vektörü normalize

edilir. Birincil ışınların doğrultuları belirlenince sıra kesişim testlerine gelir. Burada öncelikle

ışın-üçgen kesişim testi ile üretilen görüntüler verilecektir.

Işın-üçgen kesişim testlerinde 3 yöntem kullanılmıştır. Bunlar:

1. Alan Hesabı.

2. Jordan Curve Teoremi.

3. Möller’in Yöntemi.



Bu üç yöntem ile Şekil 2.20. ‘deki 400x400 çözünürlükte görüntü için hesaplama

zamanları Tablo 2.1. ‘de verilmiştir.









Şekil 2.20. Işın-üçgen kesişim testlerini test için üretilen görüntü







25

Tablo 2.1. Testlerdeki hesaplama süreleri



Poligon Işık kaynağı Möllerin Jordan Alan

sayısı sayısı Yöntemi Curve T. Hesabı

112 1 73.09 sn. 119.2 sn. 131.77 sn.



Şekil 2.1 ‘ deki görüntüye dikkat edilirse masa, monitor ve kasanın gölgelerinin de

doğru olarak üretildiği görülür. Herhangi bir yüzeyin gölge kalıp kalmadığının belirlenmesi

için yüzeyden ışık kaynağına gölge test etme ışınları yollanmıştır. Eğer bu ışın ışık kaynağına

ulaşmadan başka bir nesneye çarpıyor ve bu nesne ile yüzey arasındaki uzaklık yüzey ile ışık

kaynağındaki uzaklıktan küçükse yüzey bu nesnenin gölgesinde kalıyor demektir. Aydınlatma

modelinin diffuse ve specular bileşenleri hesaplanırken öncelikle gölge testi yapılır. Eğer

nesne gölgede kalıyor ise bu bileşen değerleri sıfır olur. Böylece gölgede kalan yüzey için

yalnızca ambient bileşen hesaba katılır.

1 ‘den fazla ışık kaynağı kullanıldığında değişik tonlarda gölgeler elde edilir. Şekil 2.2.

‘de 3 tane ışık kaynağının aydınlattığı kürenin değişik tonlardaki gölgeleri görülmektedir.









Şekil 2.21 Farklı gölgeler (3 ışık kaynağı için) Şekil 2.22. Gölge modeli



Şekil 2.21. ‘de kullanılan ışık kaynakları noktasal olduğu için keskin gölgeler (hard

shadows) elde edilmiştir. Bu durumda gölge Şekil 2.22 ‘de ‘1’ ile gösterilen alan gibi olur.

Poligonal ışık kaynağı kullanıldığında ise gölgelerin ortası koyu kenarları ise açık renkte olur.

Bu durumda gölge Şekil 2.22 ‘de ‘2’ ile gösterilen alan gibi olur. Doğru gölgeler poligonal

ışık kaynağı kullanıldığında elde edilir. Eğer noktasal ışık kaynağı kullanılmışsa poligonal

ışık kaynağındaki gibi yumuşak gölgeler (soft shadows) elde etmek için noktasal ışık kaynağı

poligonal ışık kaynağının köşeleri üzerinde gezdirilir ve köşeler için üretilen renk değerlerinin

ortalaması alınır. Böylece yumuşak gölgeler elde edilir. Şekil 2.23 ‘de noktasal ışık

kaynağıyla elde edilen görüntü, ardından Şekil 2.24 ‘de ise anlatılan teknikle gölgelerin

yumuşatılmış hali görülmektedir.









26

Şekil 2.23. Keskin gölge (hard shadow) Şekil 2.24. Yumuşak gölge (soft shadow)



Yansıma ve Kırılma ile Görünen Nesnelerin Modellenmesi

Yansıtıcı özelliğe sahip yüzeylerde yansıma ile görünen nesneleri belirlemek için

yansıma doğrusu hesaplanır. Işın yeni doğrultu boyunca ilerlerken çarptığı ilk yüzeyin

görüntüsü yansıdığı yüzeyde görünür. Eğer yansıyan ışın yine yansıtıcı özelliğe sahip bir

nesneye çarparsa yeniden yansıma doğrultusu hesaplanır ve aynı işlemler yapılır.

Çalışmalarda geliştirilen recursive kod sayesinde istenilen sayıda yansıma sonucu görünen

nesnenin görüntüsü birincisinde görülebilmektedir. Şekil 2.25., Şekil 2.26. ve Şekil 2.27. ’de

farklı derinlik değerleri için yansımalar gösterilmiştir.









Şekil 2.25. Yansıma, derinlik=1









27

Şekil 2.26. Yansıma, derinlik=2









Şekil 2.27. Yansıma, derinlik=3



Kırılmada da yansımada olduğu gibi kırılma doğrultusu hesaplanır ve ışın yeni doğrultu

boyunca yollandığında ilk çarptığı nesnenin görüntüsü birincisinde görünür. Eğer nesne cam

gibi ışığı kırmadan iletiyorsa yeni doğrultu hesaplamaya gerek yoktur. Şekil 2.28. ’da ışını

kırmadan ileten saydam bir küre verilmiştir. Şekil 2.29. ve Şekil 2.30. ’de sırasıyla ışını

kırmadan ileten ve n=n /n = 1/1.33 (n’ler kırılma indisleri) oranında kıran yüzey verilmiştir.

1 2









28

Şekil 2.28. Saydam küre









Şekil 2.29. Saydam yüzey









Şekil 2.30. Kırılgan yüzey, n =1.0, n =1.33

1 2









Özyinelemeli Işın İzleme Programının Akış Diyagramı



Özyinelemeli ışın izleme programının akış diyagramı Şekil 2.31. ‘de verilmiştir.

Üretilecek görüntüyü oluşturan nesnelerin üçgenlerden oluştuğu varsayılmıştır. Akış

diyagramından da görüldüğü gibi ilk adım piksel koordinatlarının bulunmasıdır. Bu

koordinatlar ve başlangıç noktasının koordinatları kullanılarak birincil ışınların doğrultusu

belirlenir. Başlangıç noktası ve doğrultusu belirlenmiş ışın ile görüntüyü oluşturacak üçgenler

arasında kesişim testleri yapılır. Bulunan t uzaklık değerleri sıralanarak en yakın kesişim

noktası bulunur. En yakın üçgen için aydınlatma modelinin bileşenleri hesaplanır. Eğer üçgen

ışını yansıtıcı ve kırıcı özelliğe sahipse yansıma ve kırılma doğrultuları hesaplanır ve birincil

ışınlar için yapılan işlemler tekrarlanır.





29

Şekil 2.31. Özyinelemeli ışın izleme programının akış diyagramı









30

IŞIN İZLEMEDE KULLANILAN UYGULAMALAR



POV-Ray Tanıtımı

FZ, Pazartesi, 10 Şubat 2003 (22:00 TSI) (786 okuma)

Amiga zamanlarından bu yana, bilgisayar destekli modelleme alanında birçok

programlar geldi geçti. Imagine'dı, Lighwave'di, Real 3D'di, 3D Max'di, Blender'dı derken bu

alanda birbiri ile kapışan oldukça fazla program var. Fakat bunlardan bir tanesi, gerek

arkasındaki düşünce, gerekse başarıları ile diğerlerinden çok daha farklı bir yerde.





POV-Ray Nedir?

"Tanrı'nın hangi ışın izleyiciyi kullandığını merak etmeye başladı iseniz... Uzun zamandır ışın

izleyicilerle uğraşıyorsunuz demektir." David Kraics



POV-Ray (The Persistence of Vision Ray-Tracer), ışın izleme (ray tracing) yöntemi

kullanarak üç boyutlu, foto gerçekçi görüntüler oluşturmanızı sağlayan bir yazılımdır.

Program, sahnedeki nesneler, ışıklar ve kamera ile ilgili bilgilerin bulunduğu bir metin

dosyasını okur ve bu bilgilere göre bir görüntü üretir. Işın izleme yöntemi sayısal görüntü

oluşturmak için hızlı bir yöntem değildir ancak çok kaliteli sonuçlar, gerçekçi yansımalar,

gölgeler, perspektif ve diğer etkiler yüzünden tercih edilir. POV-Ray dünyadaki en popüler

ışın izleme yazılımıdır (raytracer). Ücretsiz olarak dağıtılıyor olması bunda etkili olmuştur

ancak bu yazılımın teknik yetkinliği esas sebeptir. Başka pek çok bedelsiz ışın izleyici de

mevcut iken POV-Ray'in bu kadar popüler olmasının sebebi nedir? Pek çok sebep sayılabilir

ancak kısaca söylemek gerekirse: Bu yazılım hem başlangıç seviyesindeki meraklıları

ürkütmeyecek kadar dengeli tasarlanmıştır hem de grafik profesyonellerinin had safhada

faydalanabilecekleri detaya, güce ve çokyönlülüğe sahiptir. Elbette en nihayetinde önemli

olan sonuçtur ve POV-Ray ile üretilen görüntülerin kalitesi epey yüksek olabilmektedir. Usta

tasarımcıların ürettikleri bazı görüntülerin fotoğraf mı yoksa bilgisayarda üretilmiş sayısal bir

imaj olup olmadığını ayırt edebilmek kişiyi zorlayabilir. Programın bu kadar

yaygınlaşmasının bir başka sebebi ise akla gelen hemen her işletim sistemi üzerinde

çalışabilmesidir: GNU/Linux, Mac OS, her türlü UNIX, MS Windows NT, Windows 2000,

vs.



POV-Ray Ne Değildir?

POV-Ray bir modelleyici değildir. Yani sahnelerinizi görsel bir arabirim ve fare ile sürükle-

bırak yöntemi ile tasarlamanızı sağlamaz. Bu iş için hazırlanmış pek çok paralı ya da bedava

modelleyici yazılım mevcuttur ve bunlarla oluşturulan sahneler POV-Ray metin dosyası

olarak kaydedilebilir. POV-Ray sahneleri oluşturmak için tek yapmanız gereken bir metin

editörüdür (tercihan VIM).



Bu yöntemi ilk kez duyan kullanıcılar "ne kadar da ilkel!" diye düşünebilirler ancak POV-

Ray'e gücünü ve esnekliğini veren şeyin tam da bu olduğunu fark ettiklerinde epey

şaşıracaklardır (deneyimli GNU/Linux kullanıcılarının yüzündeki gülümsemenin farkındayım

;-). İşaretle-ve-tıkla yöntemi ile görüntü oluşturmanıza izin veren pek çok yazılım vardır

ancak iş oluşacak nihai görüntü ile ilgili hassas ayarlara geldi mi metin tabanlı bir "sahne

tanımlama dili" (scene description language - sdl) yönteminin üzerine yoktur.









31

Işın İzleme Nedir?

Işın izleme, gerçek dünyada ışığın ne şekilde hareket ettiğini göz önünde bulundurarak bir

sahnenin görüntüsünü çizen bir grafik oluşturma yöntemidir. Ancak bu yöntemde işlemler

gerçek dünyadaki yolun tersini izler. Gerçek dünyada ışık ışınları bir ışık kaynağından çıkar

ve nesneleri aydınlatırlar. Işık nesnelerden yansır ya da şeffaf nesnelerin içinden geçer.

Yansıyan ışık gözümüze ya da kamera lensine çarpar. Yansıyan ışık ışınlarının çoğu bir

gözlemciye erişmediği için bir sahnedeki ışınları izlemek sonsuza dek sürebilir.



POV-Ray gibi ışın izleme programları ise simüle edilen bir kamera ile başlarlar ve ışık

ışınlarını sahneye yollarlar. Kullanıcı kameranın, ışık kaynaklarının, nesnelerin yerini ve

bunların yüzey özelliklerini belirler, eğer isterse sahneye sis, duman, ateş gibi atmosferik

etkiler de ekleyebilir.



Sonuç görüntüdeki her piksel için bir ya da daha çok ışın kameradan sahneye yöneltilir ve

sahnedeki bir nesne ile kesişip kesişmediğine bakılır. Kameradan çıkan bu ışının bir nesneyi

kestiği her noktadaki yüzey rengi hesaplanır. Bunun için ışınlar sahnedeki her ışık kaynağına

da yönlendirilir ve böylece kaynaklardan gelen ışık miktarı da hesaplanır. Benzer şekilde her

yüzey noktasının gölgede kalıp kalmadığı hesaplanır. Yüzeyin şeffaf olup olmamasına göre

de ne kadar ışığı geçirdiği ve ne kadar ışık kırılmasına yol açtığı da hesaplanarak nihai renk

belirlenir.



POV-Ray'in Özellikleri (Kısaca)

 Kolay bir sahne tanımlama dili.

 Yüzlerce örnek sahne dosyası.

 Öntanımlı pek çok şeklin, rengin ve kaplamanın (texture) bulunduğu hazır "include"

dosyaları.

 Çok yüksek kaliteli görüntü (48-bitlik renge kadar çıkabilir).

 Düzgün yükseklik alanları ile manzara oluşturabilme.

 Perspektif, ortografik, balıkgözü ve daha pek çok kamera çeşidi.

 Spot ışıkları, silindirik ışıklar, alan ışıkları.

 Daha gerçekçi yüzeyler için Phong ve "specular" ışıklandırma.

 Sis, gökkuşağı, değişik gökyüzü koşulları gibi atmosferik etkiler.

 Bulut, toz, ateş, buhar gibi etkiler oluşturabilmek için parçacık sistemler i.

 Targa, BMP, PNG, PPM gibi pek çok formatta çıktı üretme yeteneği.

 Küre, kutu, kuadrikler, silindir, koni, üçgen, düzlem gibi temel şekiller.

 Torus (simit), bezier eğrileri, yükseklik alanları (dağlar), kuartikler, yazı,

süperkuadrikler, dönel yüzeyler, prizmalar, poligonlar, fraktaller, izoyüzeyler ve

parametrik yüzeyler gibi ileri seviyeli şekiller.

 Bütün bu şekiller Yapısal Katı Geometri (Constructive Solid Geometry - CSG)

kuralları kullanılarak birleştirilebilir ve çok daha karmaşık ve detaylı şekiller

oluşturulabilir. POV-Ray birleşim, kesişim ve fark işlemlerini destekler.

 Nesneler pek çok hazır malzeme ile (krom, gümüş, altın, ahşap, vs.) kaplanabilir.

Nesnelerin şeffaflıkları ayarlanabilir. Nesnelerin üzerine başka görüntüler değişik

şekillerde yayılabilir (söz gelimi fotoğrafınızı bir küre üzerine basabilirsiniz).

 Görüntü oluşturulurken oluştuğu kadarını ekranda izleyebilirsiniz.

 Görüntü oluşturma işlemi (rendering) yarıyolda kesilebilir ve daha sonra kaldığı

yerden devam ettirilebilir.







32

POV-Ray Kurulumu

Buraya kadar sabreden okuyucuya teşekkürler! Sıra geldi bu güzel yazılımı kurmak için

yapacaklarımıza.



Eğer siz de benim gibi bir Debian GNU/Linux kullanıcısı iseniz:

apt-get install povray



komutu ile sisteminize povray paketini kurabilirsiniz. Elimdeki 7 CD'lik Debian GNU/Linux

setinde POV-Ray paketinin 3.1 sürümü vardı ancak ben bu yazılımın son sürümü olan 3.5

sürümünü istediğim için ftp://ftp.povray.org /pub/povray/Official/Linux/povlinux.tgz

adresinden yaklaşık 6.5 MB büyüklüğündeki povlinux.tgz dosyasını çektim ve:



tar zxvf povlinux.tgz



komutu ile açtım. Hemen ardından, bulunduğum yerde oluşan povray-3.5 dizinine girip:



./install



komutu ile yazılımı kurdum. Yazılım önceden derlenmiş olarak geldiği için yukarıdaki

komutun yaptığı tek şey ilgili dosyaları gerekli yerlere kopyalamaktan ibaretti. Son anlattığım

kurulum yöntemi Debian dışındaki diğer tüm Linux dağıtımları için de geçerlidir.



Grafik Üretme Zamanı!

POV-Ray'i kurduk... mu acaba? Her şeyin yolunda olup olmadığını anlamanın basit ve

eğlenceli bir yolu var. Bir POV-Ray dosyası oluşturup bunu POV-Ray'e verip uygun görüntü

dosyasını oluşturmasını istemek.



Hemen en sevdiğimiz metin editörü ile (benimkinin VIM olduğunu söylemiş miydim?) ile

basit1.pov isimli bir metin dosyası yaratalım ve içine şunları yazalım:



#include "colors.inc"



background { color Cyan }

camera {

location

look_at

}



sphere {

, 2

texture {

pigment { color Yellow }

}

}



light_source { color White}









33

Dosyayı kaydedip editörden çıkalım. Şimdi sıra işlenmek üzere bu dosyayı POV-Ray'e

vermeye geldi. Bunun için verilmesi gereken komut da gayet basit:



povray +Ibasit1.pov



Burada dikkat edilmesi gereken en önemli şey +I(nput) parametresi ile dosya ismi arasında

boşluk bulunmadığıdır. Eğer boşluk bırakırsanız POV-Ray rahatsızlığını belirten hata

mesajlarını ekrana basmakta tereddüt etmeyecektir.



Yukarıdaki komutu verdiğiniz anda POV-Ray devreye girer ve basit1.pov dosyasını okuyup

gerekli görüntüyü oluşturmaya başlar ve bu esnada siz adım adım oluşan görüntüyü ekrandaki

bir pencerede izleme imkanına sahip olursunuz. Görüntü oluşturma işlemi biter bitmez

görüntü penceresi de birdenbire ekrandan kaybolur ve siz de komut penceresinde

oluşturulmuş görüntüye dair bir yığın istatistiksel bilgi ile başbaşa kalırsınız. Peki ya görüntü

nereye gitti? Üretilen görüntü aksi belirtilmediği sürece .pov uzantılı dosya ile aynı isme sahip

ve .png (portable network graphics) uzantılı bir grafik dosyasına yazılır. Görüntü üretme

işleminden sonra bulunduğunuz dizindeki dosyaları listelerseniz basit1.png isimli yeni

oluşturulmuş bir grafik dosyasını görebilirsiniz. Sisteminizdeki grafik işleme programları ile

(tercihan GIMP) bu dosya üzerinde istediğiniz gibi oynayabilirsiniz.

Yukarıdaki basit örnekte elde ettiğimiz görüntü tek renkli bir fon üzerinde bize bakan şirin bir

küredir. Biraz daha ileri seviyeli ve yazı da içeren bir örneğe bakabiliriz:



#include "colors.inc"

#include "stones.inc"

background { color rgb 1 }

camera {

location

look_at 0

angle 25

}



light_source { White }



box {

,

texture { T_Stone10 }

}



text {

ttf "timrom.ttf" "fazlamesai.net" 0.15, 0

pigment { BrightGold }

finish { reflection .25 specular 1 }

translate -3*x

}



difference {

box {

,

texture { T_Stone10 }





34

}

text {

ttf "timrom.ttf" "fazlamesai.net" 0.15, 0

pigment { BrightGold }

finish { reflection .25 specular 1 }

translate -3*x

}

}





Yukarıdaki dosyayı da ilk örnektekine benzer şekilde POV-Ray'e verirsek böyle bir görüntü

elde ederiz. Başlangıç için fena sayılmaz öyle değil mi?

Bundan Sonra Yapılması Gerekenler



Hepsi bu kadar mı? Bu kadar övgüye layık görülen ve deniz derya diye nitelendirebileceğimiz

POV-Ray yazılımı ile yapabileceklerimiz, üretebileceğimiz grafikler elbette yukarıda

anlatılanlardan ibaret değil.



Burada söz konusu olan çok kaliteli animasyonlar üretebileceğiniz, kendi SDL dili ile bir

mini-ışınizleyici yazabileceğiniz (hayır abartmıyorum! Bir nevi C dili ile C derleyicisi

yazmak gibi bir şey söz konusu. SDL dilinin ne kadar esnek ve güçlü olduğunu gösteren

örneklerden biri) ve daha pek çok şey gerçekleştirebileceğiniz bir yazılım söz konusu.



POV-Ray ile üretilen fantastik görüntülere bu adresten ulaşabilirsin iz.



Şimdiye dek yapmaya çalıştığım 10 yıldır geliştirilen bu yazılımla ilgili kısaca bilgi vermek

ve birkaç küçük örnek sergilemek idi. Yazılım ile birlikte gelen mükemmel belgeleri okuyup

kısa sürede pek çok şey öğrenmeniz mümkün. Yine de fotogerçekçi grafik üretmenin ayrı bir

uzmanlık alanı olduğunu ve süreç içinde yoğun çalışma ile edinilecek bir tecrübeyi

gerektirdiğini aklınızdan çıkarmayın. Ustalık araçtan değil kullanan insandan gelir.









35

Lightscape R3.2



Gerçekçi aydınlatma hesaplarına ve görselleştirme çalışmalarına yeni bir boyut

getiriyor.



Lightscape R3.2, mimarlar, dekorasyon işleriyle uğraşanlar, aydınlatma tasarımcıları ve

bilgisayarla gerçekçi kaplamalar ya da gerçekliği hayli yüksek sanal nesneler ya da ortamlar

üretmek isteyen oyun, multimedya ve web tasarımcıları için geliştirilmiş bir uygulamadır.

Çok gelişmiş bir görselleştirme, aydınlatma ve kaplama (rendering) yazılımıdır. "Radiosity"

metodunu, "ray tracing" ve fiziksel temelli aydınlatma ile birleştirerek kaplama yapar.



Ligthscape ile tasarım sürecini hızlandıran sanal prototiplerin, gerçek malzemeleri ve

aydınlatmaları ile nasıl görüneceğini önceden belirleyebilirsiniz. Lightscape bir modelleme

yazılımı değildir, ancak yüzey düzenleme araçlarına sahiptir. Lightscape ile yapılan

görselleştirme sayesinde projenin gerçek dünyada uygulanacak ışıklandırma yöntemi önceden

belirlenebilir ya da bilgisayar ortamında gerçekçi mekanlar oluşturulabilir, canlandırmalar

yaratılabilir.



Ürünün en önemli özelliği tasarımcıya bina içinde kesin olan aydınlatma koşullarını

görselleştirme olanağı tanıması ve gerektiğinde dışarıdaki pasif aydınlatmanın etkilerini de bu

görselleştirmeye katmasıdır.



Işıklandırma bir ortamın karamsar, aydınlık, neşeli veya dramatik bir havaya bürünmesinde

önemli bir görev üstlendiği için Lightscape gerçeği gibi davranan birçok aydınlatma

elemanını tasarımcının seçimine sunar. Var olan ışık renkleri arasında gün ışığı, halojen,

kuartz, akkor telli, xenon, cıva buharlı, yüksek ve düşük sodyum buharlı ve birçok farklı tipte

floresan bulmak mümkündür. Lightscape, parametrik değerlerle ışığın karakterini belirlemede

kullanıcıya önemli bir kontrol sağlar. Tasarımcı istediğinde ışık kaynağının fiziksel

parametrelerini değiştirebilir ya da farklı bir ışık kaynağı da yaratabilir.









Fotometrik analiz yapılır







36

Lightscape modelin aydınlatma hesabını yaparken model yavaş yavaş aydınlanmaya başlar.

Lightscape modelin geometrisini ve enerji dağılımını iki ayrı dosyada saklar. Hesaplanan

enerji dağılımı ekranda kaplanan (render) bir görüntüye benzer ancak buradaki süreç

kaplamadaki süreçten farklı olarak istendiğinde durdurulabilir ve malzemeleri, aydınlanma

değerleri yüzeyleri üzerinde beliren modelin içinde, gerçek zamanlı olarak dolaşılabilir. Bu

etkileşim odaların etrafında dolaşmak ve her yöne bakmak isteyen tasarımcı için sıra dışı bir

deneyim sunar: Tasarımcı aydınlanmanın ve seçilen ışığın değerlerinin mekanı nasıl

değiştirdiğini anında görebilir.



Yine bu süreçte ışık kaynaklarının değerleri kontrol edilebilir ve değiştirilebilir. Lightscape

mekan içindeki aydınlanma değerlerini bir resim olarak hazırlarken ışık analizinin yapılması

için de araçlar sağlar. Çizgisel ya da logaritmik bir skala üzerinde mekanın tamamının

aydınlanma değerleri sorgulanabildiği gibi noktasal ölçümler de yapılabilir.









Malzemeler değiştirilir ve gün ışığı eklenir



Enerji dağılımının hesaplandığı dosya herhangi bir anda saklanabilir ve enerji dağılımı süreci

daha sonra da kaldığı yerden devam ettirilebilir.



Autodesk ürünleriyle veri paylaşımı



Lightscape ile AutoCAD 2000, 3D Studio VIZ ya da 3D Studio MAX ortamında hazırlanmış

modeller, istenilen şekilde aydınlatılarak ve malzeme tanımlanarak mekan içinde hedeflenen

havanın yakalanması sağlanır. AutoCAD 2000, 3D Studio VIZ ve 3D Studio MAX ile

sağlanan veri paylaşımı sayesinde Lightscape, bu yazılımlar ile modellenmiş sahneleri gerçek

dünya değerlerine sahip ışıklar ile aydınlatarak, foto gerçekçi kaplamalar oluşturabiliyor.

Aydınlatma sonrası oluşan enerji dağılımı (solution) dosyası başka görsel efektler kullanmak

için tekrar 3D Studio VIZ ya da 3D Studio MAX ortamına çağırılabiliyor.









37

Lightscape'in farkı



"Radiosity": Lightscape'i diğer görselleştirme sistemlerinden ayıran özelliği bilgisayarda

hazırlanan modelde gerçek aydınlatma benzetimi için "Radiosity" tekniğini kullanmasıdır.



"Radiosity", bir ortamdaki yüzeylerin yayılan (diffuse) ışığı emmelerinin ve aralarında

yansıtmalarının hesabı üzerine kurulu bir işlemdir. Doğrudan olmayan aydınlanma (ışığın

diğer yüzeylerden yansıması), yüzeyler arasında renk geçişleri ve yumuşak gölgeler gibi

önemli aydınlatma efektleri elde edilir. Geleneksel kaplama yöntemleri ile elde edilemeyecek

bu sonuçlar, fotoğraf gerçekliğinde kalitenin de nedenidir. Görüntülerin piksel bazında

üretildiği geleneksel kaplama yazılımlarından farklı olarak, bu teknikte aydınlatma bilgisi

önceden hesaplanıp 3D yüzeyin bir parçası olarak saklanır.



"Ray trace": Lightscape diğer "radiosity" tabanlı yazılımlardan da ışın izleme (Ray tracing)

tekniğiyle parlama, yansıma ve gölgeleri de sahnenize ekleme olanağı tanıması özelliği ile

ayrılır.



"Radiosity" yayılan ışık efektlerini hesaplarken, ışın izleme teknolojisiyle de "specular"

aydınlatma efektlerini ekler (parlak yüzeyler, yansımalar gibi). Işın izleme tekniğinde,

kaynağından çıkan ışınlar sahne içinde takip edilir. Bu yöntem ile ışık sahne içindeki

nesnelerin malzemelerine göre nesnelerden yansır veya kırınıma uğrar. Lightscape'de





38

aydınlatma efektleri "radiosity" işlemi sırasında önceden hesaplandığından, ışın izleme

kaplaması diğer yazılımlara göre çok daha hızlı yapılır.









Lightscape R3.2 ile gelen yeniliklerden bazıları



 Lightscape, AutoCAD (AutoCAD 2000 dahil) ile oluşturulan "dwg, dxf, 3ds"

dosyalarını okuma özelliğine sahip.

 3D Studio VIZ ve 3D Studio MAX için hazırlanmış yeni bir eklenti (Plug-In) ile bu

ortamlarda hazırlanmış modeller Lightscape içinde kullanılabiliyor ve Lightscape'te

yaratılan enerji dağılımı 3D Studio VIZ ve 3D Studio MAX ortamına geri

çağırılabiliyor. Kullanıcı istekleri doğrultusunda 100'ün üzerinde arayüz gelişmesi ile

yenilenen çalışma akışında, malzeme görüntüleme, nesneleri ve ışıkları düzenlemeyi

kolaylaştıran yeni araçlar sunuluyor.

 Geçmişte ayrı olarak satılan yardımcı eklentiler artık Lightscape R3.2 ile standart

olarak geliyor. Bunların arasında ağ üzerinde kaplama desteği, üretici şirketlerden

sağlanan malzeme kütüphaneleri ve aydınlatma elemanları kütüphanesi bulunuyor.

 Yazılımla birlikte gelen geliştirilmiş kullanıcı kılavuzu ve eğitim kitabı Lightscape'i

kolay öğrenilebilir kılıyor. Eğitim kitabı içinde yer alan çalışmalar kullanıcıyı

yazılımın tüm önemli bölümleriyle tanıştırıyor.



Lightscape Türkiye'de SAYISAL GRAFİK tarafından Discreet ve AEC Yetkili Satıcıları

aracılığıyla satılıyor.









39

KAYNAKLAR

http://tr.wikipedia.org/wiki/I%C5%9F%C4%B1n_izleme

http://tr.wikipedia.org/wiki/I%C5%9F%C4%B1n_%C4%B0zleme_Metodunun_%C4%B0yil

e%C5%9Ftirilmesi

http://www.infoturkish.com/index.php/I%C5%9F%C4%B1n_izleme

http://ceng.ktu.edu.tr/~cakir/download/ETKILESIMLI_ISIN_IZLEME.pdf

http://www.fazlamesai.net/index.php?a=article&sid=1296

http://www.sanalgazete.com.tr/gazete/vol05no01/s15/m01.htm

http://www.grafiksistemler.com.tr/links/LightScape.htm

http://ceng.ktu.edu.tr/~cakir/download/Tez2004.pdf









40


Other docs by HC111215203950
Headteacher Toolkit 2009
Views: 13  |  Downloads: 0
Eskin
Views: 0  |  Downloads: 0
MINISTERUL MUNCII SI PROTECTIEI SOCIALE**
Views: 1  |  Downloads: 0
TH�NG B�O
Views: 2  |  Downloads: 0
0817 Lifelong learning
Views: 0  |  Downloads: 0
INTRODUCTION
Views: 0  |  Downloads: 0
PREVENTIVE HEALTH GUIDELINES
Views: 1  |  Downloads: 0
admissionform
Views: 0  |  Downloads: 0
Slayt Basligi Yok
Views: 19  |  Downloads: 1
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!