Phong Aydınlatma Modeli
Vikipedi, özgür ansiklopedi
Bu madde Aralık 2005 tarihinden beri etiketli olarak durmaktadır.Düzenleme yapıldıktan sonra bu not silinmelidir.
[değiştir] BİLGİSAYAR GRAFİKLERİNDE BOYAMA TEKNİKLERİ
Gerçek dünyada görme işleminin gerçekleşebilmesi için, ışık kaynağından saçılan ışınların yüzeylere çarparak ya da kırılarak göze ulaşması gerekir. Göze ulaşan bu ışınlar, çarptığı ya da kırılarak içinden geçtiği cisimlerin fiziksel özelliğine bağlı olarak bir rengin algılanabilmesini sağlar. Bu olay bilgisayar ortamında modellenirken ortam (ambient), yaygın (diffuse) ve aynasal (specular) olmak üzere üç aydınlatma bileşeni kullanılır. Bu üç bileşen Phong aydınlatma modelini oluşturmaktadır.
Klasik ışın izleme yönteminde Doğrudan Aydınlatma ( Direct Illumination ) göz önüne alınmaktadır. Yani bir yüzeye sadece ışık kaynağından ışın geldiği varsayılır. Ancak bu yaklaşım eksiktir, zira yansıyan ışınların da hesaba katılması gerekir. Yansıyan ışınların oluşturduğu aydınlatma modeline Dolaylı Aydınlatma ( Indirect Illumination ) denir. Renk değerleri hesaplanırken hem doğrudan aydınlatmanın hem de dolaylı aydınlatmanın hesaba katıldığı yönteme Genel Aydınlatma ( Global Illumination ) denir.
1. Ortam (Ambient) Aydınlatma
Ortam (ambient) aydınlatma bilinen en basit aydınlatma modelidir. Bu bileşende cismin tüm noktaları aynı renk ve parlaklık değerine sahiptir. Anlaşılacağı gibi ambient bileşen tek başına kullanıldığında hiç de gerçekçi olmayan bir görüntü elde edilir. Cismin parlaklık değeri I ışık kaynağının konumundan bağımsız olarak aşağıdaki gibi hesaplanır:
I = Ia * ka (3.1)
Ia ışık kaynağından gelen ışının parlaklığıdır. ka cismin ortam aydınlatma katsayısıdır ve 0 ile 1 arası bir değere sahiptir. Ambient bileşenin asıl kullanım gayesi, dolaylı aydınlatmanın gerektirdiği işlemleri en azından kabul edilebilir seviyede gerçekleştirmesidir. Ancak yüzeyin veya ışık kaynağının özelliklerinin ambient bileşende etkisinin olmaması, görüntünün tamamen gerçekçi olmasını engeller. Bu sebeple biz çalışmamızda ambient bileşenin yerine, gerçek dünyadaki modele tam uyumlu olan Photon bileşeni kullanacağız.
2. Yaygın (Diffuse) Aydınlatma
Diffuse bileşeni, Phong aydınlatma modelindeki en gerçekçi kısımdır. Ancak yine de sadece yaygın bileşen kullanılarak aydınlatılan cisimlerin donuk bir yüzeye sahip oldukları görülür. Işık kaynağı noktasal kabul edildiğinden, kaynaktan doğrudan ışık almayan cisimler siyah görülür. Yaygın aydınlatma bileşenine göre cisim üzerindeki bir noktanın renk değeri, gözlemcinin konumundan bağımsız, ışık kaynağından gelen ışın ile bu ışının cisme çarptığı noktadaki yüzey normali arasındaki açının kosinüs değerine bağımlıdır. Bu olay Lambert kanunu olarak adlandırılır. Yaygın aydınlatma bileşeni şekil 3.1’de gösterilmiştir.
Yaygın bileşenin matematiksel gösterimi aşağıdaki gibidir:
Idif = n * I = cos α (3.2)
2 ifadesindeki n ve I, birer normalize edilmiş vektördür. Böylece bu iki vektörün skaler çarpımı, aralarındaki açının kosinüsünü verir. İfadeden de anlaşılacağı üzere, diffuse bileşen yüzey normali ile ışık kaynağına olan vektörle bağımlı, bakış noktasından bağımsızdır.
İki vektörün arasındaki açı 0° olduğunda diffuse bileşen maksimum olurken, açı π / 2 olduğunda diffuse bileşen minimum olur. Eğer α > π / 2 olursa, yüzey arka yüzey kabul edilir ve aydınlatılmaz.
İlgili pikselin renk değeri hesaplanırken, kesişimin gerçekleştiği yüzeyin RGB değerleri Idif ile ayrı ayrı çarpılmalıdır.
3. Aynasal (Specular) Aydınlatma
Aynasal (specular) bileşenin amacı yüzeye parlak bir görünüm sağlamaktır. Yüzeylerde oluşan parlamalara ‘highlight’ denir. Highlightlar ışık kaynağının konumunun ve yüzeylerin eğriselliğinin anlaşılmasını sağlarlar. Aynasal yansıma ifadesi aşağıdaki gibidir:
Ispec = ( r * v ) mshi = ( cos α ) mshi (3.3)
3.3 ifadesindeki v, yüzey üzerindeki p noktasından bakış noktasına doğru olan vektör, r ise yüzeyden ışık kaynağına doğru olan I vektörünün yüzey normalinden yansımasıdır. mshi değeri, aynasal bileşeni daha gerçekçi hale dönüştürmek için kullanılır. Zira mshi büyüdükçe aynasal etki kesişim noktasının etrafında yoğunlaşır. Aynasal bileşen Şekil 3.2’te gösterilmiştir.
Bu bileşene göre cismin herhangi bir noktasının parlaklığı ışığın geliş açısına, gelen ışığın dalga boyuna ve cismin fiziksel özelliklerine bağlıdır. Işığın aynasal yansımasının bir doğrultusu vardır. Mükemmel yansıtan bir yüzey için, yansıma açısı gelme açısına eşittir. Bu yüzden sadece tam bu doğrultuda bulunan bir gözlemci , aynasal yansımış ışığı görebilir. Işık kaynağından gelen ışın L, yansıyan ışın R ve ışının cisme çarptığı noktadaki normal N olarak ele alınırsa, yansıma vektörü aşağıdaki gibi hesaplanabilir:
R = L – 2*(N*L)*N (3.4)
Aynasal yansımış ışık, yansıma vektörü boyunca odaklanmış olduğundan, gözlemci hareket ettiği zaman highlightlar da hareket eder. Bir cismin aydınlatılmasında daha gerçekçi görüntü elde etmek için değinilen tüm aydınlatma modellerinin toplamı kullanıldığında, tek bir ışık kaynağı için aydınlatma modeli aşağıdaki gibi ifade edilir:
I = IL * ka + IL * kd * cos( ) + IL * ks * cosn( ) (3.5)
Işık kaynağından gelen ışınla bu ışının cisme çarptığı noktadaki yüzey normali arasındaki açı, ise yansıyan ışın ile gözlemcinin konum vektörü arasındaki açıdır. Phong Aydınlatma Modelini oluşturan bileşenlerin bir küre yüzeyine tek tek uygulanışları Resim 3.1, Resim 3.2 ve Resim 3.3’te sunulmuştur. Bu üç bileşenin birlikte kullanıldıkları uygulama ise Resim 3.4’te sunulmuştur.
Resim 1 : Yalnızca ortam bileşeninin kullanıldığı uygulama
Resim 2 : Yalnızca yaygın bileşeninin kullanıldığı uygulama
Resim 3 : Yalnızca aynasal bileşeninin kullanıldığı uygulama
Resim 4 : Üç aydınlatma bileşeninin birlikte kullanıldığı uygulama