3D Bilgisayar Grafikleri

Transkript

3D Bilgisayar Grafikleri
3D Bilgisayar Grafikleri
"3D" (Three Dimension = Üç Boyut) terimi, birçoğumuza yabancı gelmemektedir. 3D
bilgisayar grafikleriyle yaratılmış video, her gün TV programlarında, reklamlarda ve filmlerde
görülebilir. Coke reklamındaki karıncalar, "Jurassic Park" filmindeki dinozorlar ve "Titanic"'in
batışı; bunların hepsi bilgisayarlar tarafından modellenmiştir. Film ve TV programlarından
başka; bilgisayar oyunları, 3D bilgisayar grafiklerinde yepyeni bir diyar yaratıyor. Buna ünlü
bir örnek, "Tomb Raider" serisindeki Lara Croft'tur. Karakterin 3D bilgisayar grafik teknolojisi
ile ince detaylarda modellenmesi, Lara'ya başarılı hareketler sergileme imkanı sunuyor.
Herhangi birisi, TV veya filmlerdeki 3D sahneler ile oyunlardaki 3D grafikler arasındaki farkı
kolaylıkla açıklayabilir. Video uygulamaları için "gerçeklik", en büyük kaygılardan birisidir.
Yani amaç, izleyicilerin sahnedeki hangi nesnelerin bilgisayar tarafından oluşturulduğunu,
hangilerinin gerçek olduğunu anlamalarını engellemektir. Bu da,izleyiciye sunulmadan önce,
gayret ve süre gerektiriyor. Bu yüzden, 3D teknolojisi ancak gerçek zamanlı olmayan
uygulamalarda kullanılabiliyor. Bilgisayar oyununun doğası ise tamamen farklı. Animasyonları
pürüzsüz yapmak için bilgisayar, grafikleri modellerken yapabileceğinin en iyisini yapmaya
çalışıyor ve bu yüzden de kuşkusuz zaman harcıyor. Sonuç olarak 3D bilgisayar oyunlarında
"gerçek zamanlı modelleme", bir karşılaştırma yapıldığında "gerçeklik"ten daha önemli
gözüküyor.
Bilgisayar, 3D sahneleri meşgul bir biçimde modellerken neler yaptığını bilmek istediğiniz için,
bu makale size, 3D bilgisayar grafikleri oluşturma aşamalarını daha iyi anlama şansı sunuyor.
Şekil 1. Bir top yüzeyinde "Triangle Segmentation".
Nesneler için 3D Modeller Yaratma
Birçoğumuz için; 3D sahnedeki nesnelerin poligonlardan, hatta çoğunlukla üçgenlerden
oluşması şaşırtıcı bir olgudur. Şekil 1'de de gösterildiği gibi, bir topun yüzeyi, onlarca üçgene
bölünmüştür. Şekil 1, ayrıca şunları da gösteriyor:
1.Noktaların koordinatları (p1, p2, p3)
2.Noktaların renkleri (c1, c2, c3)
3.Noktaların vektörleri (v1, v2, v3)
4.Biçimlendirilmiş üçgenlerin normal vektörleri (v4)
Noktaların vektörleri, yüzeyin eğim bilgilerini tutar. Şekil 2'de, üçgen noktalarının üç
vektörüne göre; A Üçgeni ve B Üçgeni aynı şekilde olduğunu halde eğim yüzeylerinin farklı
olduğunu biliyoruz.
Çizgi Tagem Araştırma Geliştirme ve Eğitim Merkezi
Cemal Sururi Cad. Halim Meriç İş Merkezi No: 15/C 34394 Şişli – İstanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org
Şekil 2. Aynı şekilde ve boyutta olmalarına rağmen, A Üçgeni ve B Üçgeni farklı eğim
yüzeylerine sahiptir.
Üçgenler için normal vektörlerin amacı ne? Normal vektörler, nesnelerin harici yüzeylerine bir
işaret olarak kullanılır. Bu vektörü ve temel vektör çarpma işlemi kullanılarak, herhangi bir
üçgenin görüş noktasıyla karşı karşıya olup olmadığını anlamak çok kolaydır. Görüş
noktasından uzak olan üçgenler için, ekranda görünmek mümkün değildir. Bu yüzden,
üçgenler ihmal edildiği taktirde, modellemedeki zorluk önemli ölçüde düşer. Şekil 3'te
gösterildiği gibi, C Üçgeni, topun arka yüzünde yer alıyor. Bu yüzden modelleme esnasında
ihmal edilebilir.
3D bir nesneyi poligonlara bölmenin özel bir kuralı yoktur. 3D uygulama programlarının
modellemesine göre farklılık gösterir. Bununla beraber, ana kural olan çok parçaya ayrılmış
poligonlar, modellemenin inceliği ve tabii ki, daha güçlü hesaplama ve ölçümler gereklidir.
Şekil 4'te, sağ taraftaki top, üçgenleri küçük küçük parçalamadan dolayı daha detaylıdır.
Çizgi Tagem Araştırma Geliştirme ve Eğitim Merkezi
Cemal Sururi Cad. Halim Meriç İş Merkezi No: 15/C 34394 Şişli – İstanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org
Şekil 4. Sağ taraftaki top, üçgenleri küçük küçük parçalamadan dolayı daha detaylıdır.
Koordinat Dönüşümü
3D nesne modellemeden sonra bütün 3D nesneler, Şekil 5'te de gösterildiği gibi, sanal 3D
dünyaya yerleştirilir. Daha sonra, görüş noktası ve görüş doğrultusu tanımlanabilir.
Şekil 5. 3D nesneleri sanal 3D dünyaya yerleştirme.
Görüş noktasını bir kameranın lensi, görüş doğrultusunu da lensin doğrultusu olarak
düşünebilirsiniz. Görüş noktasındaki orijinle 3D alanı ve z-ekseni olan görüş doğrultusu,
kamera alanı olarak tanımlanır. Siz monitöre bakarken gözünüz, kamera alanının orijininde
bulunmaktadır. Monitörün ekranına dik olan vektörler, z-ekseniyle aynı doğrultuyasahiptir.
Görüş noktasına bağlı olan koordinat dönüşümü, görüş dönüşümü olarak isimlendirilir.
"Perspektif Dönüşümü" (veya Projeksiyon Dönüşümü) olarak isimlendirilen bir diğer dönüşüm,
koordinat dönüşümlerini tamamlamak için gereklidir. 10 santimetre ve 1 metre uzaklıktaki
aynı 2 cisim, farklı boyutlarda gözükür. Buna "Perspektif Efekti" adı verilir. Şekil 6'da sağ üst
köşe, perspektif efektini resimlemektedir.
Çizgi Tagem Araştırma Geliştirme ve Eğitim Merkezi
Cemal Sururi Cad. Halim Meriç İş Merkezi No: 15/C 34394 Şişli – İstanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org
Şekil 6. Perspektif efektiyle görüş dönüşümü.
Kırpma
Görünebilir alan, kırpma aşamasına belirlenir. Bu, 3D alan içinde küçük bir oda inşa etmeye
benzer. Sadece küçük odadaki nesneler ekranda görüntülenecektir. Bu çok kullanışlı bir
işlemdir, çünkü görüş noktasına yakın olan nesneler ekranı kaplayabilir, ya da görüş
noktasına çok uzak olan nesneler kırpma olmadığı taktirde sadece küçük bir nokta olarak
görülebilir. Bunların hepsi, izleyiciler için istenmeyen durumlardır. Kırpmadan sonra,
hesaplamanın karışıklığı tekrar azaltılmış olur. Şekil 7, kırpmanın bir örneğini gösterir, D
Bloku kırpılmış görüntülenebilir alandır; Şekil 8 ise, D Blokunun modellenmesini
resimlemektedir.
Şekil 7. Görüntülenebilir alanı kırpma.
Çizgi Tagem Araştırma Geliştirme ve Eğitim Merkezi
Cemal Sururi Cad. Halim Meriç İş Merkezi No: 15/C 34394 Şişli – İstanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org
Şekil 8. D Blokunun modellenmesi.
Şimdi bütün 3D nesneleri renklendirmeye hazırız.
Işıklandırma
Genel olarak, bilgisayar grafiklerindeki ışık kaynakları, çevresel ve direk olarak ikiye
ayrılabilir. Çevresel ışık, 3D alandaki bütün nesneleri, bütün yönlerden aynı parlaklığı vererek
ışıklandırır. Bir stüdyodaki ışıklandırma, çevresel ışığa benzer. Bu ışık, tüm nesne yüzeylerine
eş parlaklık verir. Şekil 9, çevresel ışığa bir örnek göstermektedir. Işığın, bütün nesnelere eşit
parlaklık verdiğini görebilirsiniz.
Direk ışık, çevresel ışıktan tamamen farklı karakteristiğe sahiptir. Direk ışık, belirli bir
pozisyondan ve belirli bir doğrultuda gelir. Sadece, ışık kaynağının yoluna çıkan nesneleri
ışıklandırır. Geri kalanlara parlaklık verilmez. Elektrik feneri (el feneri) ya da bir arabanın farı,
direk ışık için iyi örneklerdir. Şekil 10, direk ışığın etkilerini göstermektedir.
Şekil 9. Çevresel ışık.
Çizgi Tagem Araştırma Geliştirme ve Eğitim Merkezi
Cemal Sururi Cad. Halim Meriç İş Merkezi No: 15/C 34394 Şişli – İstanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org
Şekil 10. Direk ışık.
3D nesnelerdeki materyaller, ışıklandırma efektlerini değiştirebilir. Farklı materyaller, farklı
yansıma parametrelerine sahiptir. Örnek olarak metal, ışığın süzdüğünden çoğunu yansıtır
veya kumaş, ışığın yansıttığı kısmından daha çoğunu süzer. Bu nedenle, materyal seçimi,
yansıma ve süzmenin parametrelerini belirler.
Işık kaynaklarını ve materyallerini belirledikten sonra, ışıklandırma işlemi tamamlanabilir. Bu
aşamada, bütün noktaların renkleri, önceden tanımlanmış kurallara göre hesaplanır. Dikkat
edilmesi gereken nokta, üçgenlerin iç kısmı, ışıklandırma aşamasında doldurulmaz.
Gölgelendirme ve Doku Kaplama
Gölgelendirme, üçgenin içindeki noktaları doldurma işlemidir. Noktaların renklerinin
ışıklandırma işleminden sonra belirlendiğini, fakat iç kısımların daha renklendirilmediğini
öğrenmiştik. Aşağıda, üçgen gölgelendirmenin bazı yollarını görebilirsiniz:
1.Düz Gölgelendirme:Bütün üçgeni doldurmak için bir renk belirlenir. Bütün üçgen için
seçilecek rengi belirlemenin en iyi yolu, üç noktanın renk ortalamasını almak ya da üç
noktanın renginden birisini seçmektir. Düz Gölgelendirme'nin etkileri için Şekil 11'e
bakabilirsiniz.
Şekil 11. Düz Gölgelendirme.
2.Gouraud Gölgelendirme:İsmini üreticisinden almıştır. Gouraud, renk interpolasyonunun
iki ya da üç noktaya aynı ayna uygulanmasını önermiştir. Bunun anlamı, iki nokta arasındaki
kenar renklerinin ağırlıklı ortalama kullanılarak tanımlanmasıdır. Ağırlık da, çizginin iki ucunun
renklendirilecek olan noktaya uzaklıklarının oranlanmasıdır. Renk interpolasyonu, kenarlardaki
noktaların renkleri hesaplandıktan sonra bütün üçgeni doldurmak için uygulanır. Şekil 12'deki
nesneler Gouraud Gölgelendirme kullanılarak gölgelendirilmiştir.
Çizgi Tagem Araştırma Geliştirme ve Eğitim Merkezi
Cemal Sururi Cad. Halim Meriç İş Merkezi No: 15/C 34394 Şişli – İstanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org
Şekil 12. Gouraud Gölgelendirme.
3.Phong Gölgelendirme:Phong Gölgelendirme, Phong tarafından bulunmuştur. Gouraud
tarafından önerilen renk interpolasyonuna ek olarak Phong, nokta vektörlerinin de bütün
üçgen içerisine eklenmesini önermiştir. Phong gölgelendirilmiş üçgenlerin içindeki her nokta,
yüzeyin normal vektörünün doğrultusunda bir vektöre sahiptir. Bu sayede, ışıklandırma
işlemi, daha doğru renk sunabilmek için üçgenin içindeki her noktaya uygulanabilir. Bununla
birlikte, Phong Gölgelendirme tamamlanması çok karmaşık bir işlemdir ve mevcut hiçbir
grafik işlemcisi bu özelliği desteklememektedir.
Doku Kaplama ise, 3D nesneyi biçimlendiren poligonlara belirli bir şeklin (doku) yapıştırılması
işlemidir. Bu işlem, örneğin ağaç damarlarının ağaçlara ya da kürkün hayvanlara
yapıştırılması ile gerçekliği arttırır. Bu dokular sayesinde, nesnelerin neyden yapıldığın
rahatlıkla kavranabilir. Şekil 13, doku kaplamaya bir örnek vermektedir.
Şekil 13. Doku Kaplama.
Çizgi Tagem Araştırma Geliştirme ve Eğitim Merkezi
Cemal Sururi Cad. Halim Meriç İş Merkezi No: 15/C 34394 Şişli – İstanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Benzer belgeler