Yazan: Tuğçe Doğan

1. Rendering nedir?

Bilgisayar programları yardımıyla bir modelden resim yaratma sürecine “rendering” (görselleştirme) adı verilir. Model, 3 boyutlu nesnelerin katı bir biçimde tanımlı bir dil veya veri yapısının tanımıdır. Model, geometri, bakış açısı, (texture) doku özelliği, ışıklandırma ve gölgelendirme bilgileri içerebilir. Resim ise dijital resim veya taramalı/ızgara grafik resimdir.

Rendering aynı zamanda videonun en son çıktısını oluşturmak için video düzenleme dosyasında yapılan etkileri hesaplama işlemi sürecine verilen addır.

3 boyutlu bilgisayar grafiğinin en büyük alt başlıklarından biri olan rendering, modellere ve animasyonlara nihai görünüşlerini vermeden önceki son adımdır. 1970’ten beri bilgisayar grafiği alanında yaşanan ilerlemelerden ötürü başlı başına bir konu olmuştur.

Rendering, farklı dağılımdaki özellikler ve tekniklerle mimaride, video oyunlarında, simülatörlerde, film ve TV özel efektlerinde kullanılmaktadır. Bazısı daha büyük modelleme ve animasyon paketleriyle bütünleşik, bazısı tek başına çalışan, kimisi de açık kaynak projeler olmak üzere ürün bazında pek çok değişik rendering mevcuttur. Esasen rendering, basit fizik, görsel algılama, matematik ve program geliştirme gibi farklı disiplinlerin karışımına dayanan dikkatlice oluşturulmuş bir programdır.

Şekil 1. Rendering

  1. Kullanımı

Nesnelerin ön- resim hali tamamlandığında (genelde wireframe olarak çizilirler), Bitmap dokusu veya süreçsel dokular, ışıklar, şişkinlik haritalaması ve göreceli konumlandırma rendering ile nesnelere eklenir. Sonuç, müşterinin gördüğü tamamlanmış resimdir.

Aşağıdaki resimlerde rendering uygulanmamış ve uygulanmış araçlar bulunmaktadır.

Şekil 2 . Rendering uygulanmamış araç

Şekil 3. Rendering uygulanmış araç

  1. Özellikleri

Rendering uygulanmış bir resim, görülebilen birkaç özelliğe göre incelenebilir. Rendering alanındaki araştırmalar ve geliştirmeler aşağıda verilen özellikleri iyileştirmek ve daha etkili hale getirmek amacıyla yapılmaktadır. Bunların bazıları doğrudan belirli algoritma ve tekniklerle ilişkiliyken, öte yandan diğerleri birlikte oluşturulur.

  • Gölgeleme: Işıklandırmayla yüzeyin rengi ve parlaklığının nasıl değiştiğini irdeler.
  • Doku haritalama: Yüzeylere ayrıntı uygulanmasıdır.
  • Şişkinlik haritalama: Yüzeylerdeki küçük boyuttaki şişkinlikleri benzetimdir.
  • Sis: Işığın havadan veya net olmayan bir atmosferden geçerken nasıl donuklaştığını irdeler.
  • Gölgeler: Işığı engellemenin etkileridir.
  • Yumuşak gölgeler: Kısmen engellenmiş ışık kaynaklarından ötürü değişken karanlıktır.
  • Yansıma: Ayna benzeri veya oldukça cilalı yansımadır.
  • Saydamlık: Işığın katı cisimleri geçerkenki keskin aktarımıdır.
  • Yarı saydamlık: Yüksek oranda dağılmış ışığın katı cisimleri geçerkenki aktarımıdır.
  • Kırılma: Saydamlıktan ötürü ışığın eğilmesidir.
  • Kırınım: Bir cismi geçerken ışığın eğilmesi, yayılması ve karışmasıdır.
  • Kısmi aydınlanma: Yüzeylerin ışık kaynağından doğrudan aydınlanmak yerine, diğer yüzeylerden yansıyan ışıklar ile aydınlanmasıdır.
  • Caustics: Yunanca yanık anlamına gelen “Caustics”, kısmi aydınlanmanın bir çeşididir. Parlak bir nesneden yansıyan ışık veya saydam bir nesnenin içinden geçen ışığın odaklanmasıyla, başka bir nesne üzerinde parlaklıkların oluşmasıdır.
  • Alan derinliği: Odaktaki bir nesnenin önü veya arkasında çok yakında bulunulması durumunda, cisimlerin çok bulanık gözükmesidir.
  • Hareket bulanıklığı: Nesnelerin yüksek hızda hareketi veya kameranın hızı yüzünden cisimlerin bulanık gözükmesidir.
  • Gerçekçi olmayan fotoğraf rendering’i: Bir tablo veya çizimmiş gibi gözükmesi amacıyla, sahnelere artistik stilde rendering uygulanmasıdır.
  1. Teknikler

Pek çok rendering tekniği araştırılmasının ardından, kullanılan yazılımlar son resmi elde etmekte farklı tekniklere başvurmaktadır. Sahnedeki bütün ışınları takip etmenin uygulanabilirliği mümkün olmamakla beraber çok fazla zaman alır. Resim oluşturacak büyüklükteki bir sahne örneği bile, eğer akıllıca sınırlandırılmamışsa ışınların takibi yine uzunca bir zaman alır.

Bütün ışınları takip etmenin zorluğundan ötürü, birbirinden serbest ışık ulaşımında daha etkili 4 serbest teknik oluşmuştur: ızgaralama (hat tarama rendering’i), ışın kalıplaması, ışınsallık ve ışın takibi. Izgaralama, sahnedeki nesneleri gelişmiş görsel efektler kullanmadan geometrik olarak resim düzlemine yansıtır. Işın kalıplaması tekniği sahneyi belirli bir noktadan görülüyormuş gibi düşünür ve gözlemlenen resmi sadece geometri ve çok basit yansıma yoğunluğu kanunlarına göre hesaplar, bazen işlem hatalarını azaltmak amacıyla Monte Carlo tekniklerine de başvurabilir. (Bu yazı Tuğçe Doğan tarafından yazılmış olup bilgisayarkavramlari.com sitesinde yayınlanmaktadır, lütfen alıntı yapılması durumunda gerekli atıfta bulununuz). Işınsallık, yüzeyden yansıyan ışınların dağılışını simule etmek için sonlu eleman matematiğini kullanmaktadır. Işın takibi, ışın kalıplamasına benzer özellikler içerir; ancak daha gelişmiş görsel simülasyon uygular. Işın takibi tekniğinde çoğunlukla Monte Carlo teknikleri daha yavaş fakat daha gerçekçi sonuçlar elde etmek için kullanılır.

Çoğu gelişmiş yazılım, yukarıda belirtilen tekniklerden iki ya da daha fazlasını harmanlayarak kullanıcılarına cüzi fiyatta yeterince iyi görüntüler sağlar.

  1. Hat tarama ve ızgaralama

Bir resmin yüksek seviye temsili, piksellerin farklı alanlarındaki elemanları zorunlu olarak içerir. Bu elemanlara ilkel adı verilir. Örnek olarak, taslak çiziminde çizgi parçaları ve eğriler ilkel iken, 3 boyutlu sıvalamada uzaydaki üçgenler ve çokgenler ilkel olabilir.

Eğer rendering için piksel- piksel yaklaşımı(resim mertebesi) belli bir görev için çok yavaş veya uygulanamaz ise, ilkel- ilkel yaklaşımı(nesne mertebesi) daha yararlı olabilir. Bu noktada, her bir ilkel için döngüye girilir. Bu ilkellerin hangi pikselleri etkilediği belirlenir ve bu pikseller değiştirilir. Bu işleme “ızgaralama” adı verilir ve günümüzdeki tüm grafik kartlarının kullandığı rendering yöntemidir.

Izgaralama (ilkel- ilkel yaklaşım), büyük oranda piksel- piksel rendering’ten hızlıdır. İlk etapta, resmin büyük alanları hiçbir ilkel içermeyebilir; ızgaralama bu alanları yok sayacaktır, fakat piksel- piksel rendering bu noktaları geçmek durumundadır. İkinci etapta, ızgaralama önbellek tutarlılığını geliştirebilir ve resimdeki komşu olmaya meyilli, tek bir ilkel barındıran piksellerden faydalanarak gereksiz işi azaltabilir. Bu nedenlerden ötürü ızgaralama, etkileşimli rendering gerektiği durumlarda genellikle seçilen yaklaşımdır. Bununla beraber, piksel- piksel yaklaşımı çoğunlukla yüksek kalitede resimler üretir ve bu yaklaşımın çok yönlülüğü, ızgaralama alanındaki varsayımları içermediğinden ötürü daha fazladır.

Izgaralamanın eski sürümünün en karakteristik özelliği bütün yüzeye tek bir renk ile rendering uygulanmasıdır. Başka bir seçenek olarak, ızgaralama daha karmaşık bir yöntem izlenerek yapılabilir: İlk olarak yüzeyin köşelerine rendering uygulayıp daha sonra bu köşelerin birleştikleri noktaların renklerinin karıştırılarak piksellerin ızgaralanmasıdır. Izgaralamanın bu sürümü, eski yöntemin yerini grafiklerin karmaşık dokumalar olmadan akışını sağlamasından ötürü almıştır. Izgaralamanın bu daha yeni yöntemi grafik kartının gölgeleme fonksiyonlarını daha fazla kullanmak ile beraber, daha fazla performans sağlamaktadır. Çünkü bellekteki daha basit dokumalar daha az yer kaplamaktadır. Kimi zaman tasarımcılar bazı yüzeylerde eski ızgaralama yöntemini tercih ederken, yeni yöntemi açıya bağlı olarak kullanarak hızı arttırıp genel etkiyi kısmadan aynı sonucu alabilmektedirler.

  1. Işın kalıplaması

Işın kalıplaması, ayrıntının çok önemli olmadığı veya işlemsel aşamada daha iyi performans elde etmek adına ayrıntıların sahtesini yapmanın daha etkili olduğu, gerçek zamanlı simülasyonlar olan 3 boyutlu bilgisayar oyunları ve çizgi filmlerde kullanılmaktadır. Bu, genel olarak çok sayıda film karesinin animasyon olarak gösterilmesi gerektiği durumlardır. Meydana gelen yüzeyler, karakteristik bir düz yüzey görünüşe ve sahnedeki nesnelerin tümü mat bir bitime sahiptir.

Modellenen geometri piksel- piksel, hat- hat bakış noktasından dışarı doğru, sanki kalıplar bu bakış noktasından ışıyormuşçasına ayrıştırılır. Bir nesne ile kesişme yaşandığında, o noktadaki renk değeri çeşitli teknikler ile değerlendirilir. En basit halinde, kesişim noktasındaki nesnenin renk değeri o pikselin değeri olur. Renk, dokuma haritasından da belirlenebilir. Daha incelikli diğer yöntem ise renk değerinin bir aydınlanma faktörü ile ayarlanmasıdır; ancak bu yöntemde, simule edilmiş ışık kaynağı ile ilişkisi hesaplanmaz. İşlem hatalarını azaltmak amacıyla farklı yönlerdeki çeşitli ışınları ortalaması alınır.

Görsel özelliklerin kaba simülasyonlarına ek olarak başvurulabilir: nesneden çıkan ışının bakış açısına doğru basit bir hesaplama yapılır. Diğer bir hesaplama ışık kaynağından çıkan ışınların açısını bulmak için yapılır. Buna ek olarak, belirtilen yoğunluktaki ışık kaynaklarının da yardımıyla pikselin değeri hesaplanır. Başka bir simülasyon, ışınsallık algoritması kullanılarak çizilmiş aydınlanmayı kullanır.

  1. Işınsallık

Doğrudan aydınlanmış yüzeylerin dolaylı ışık kaynağı gibi kullanılarak diğer yüzeylerin aydınlatılmasının simülasyonun denendiği tekniğe “ışınsallık” denir. Bu sayede daha gerçekçi gölgeleme sağlanır ve daha iyi bir kapalı alan ambiyansı yakalanır. Bunun tipik örneği gölgelerin oda köşelerinin kucaklama şeklidir.

Simülasyonun görsel ilkesi, verilmiş bir yüzeydeki belirli bir noktadan yayılmış ışınların geniş spektrumlu yönlerde yansıması ve bunun çevresindeki alanı aydınlatmasına dayanır.

Simülasyon tekniği zorluk bakımından farklılık gösterebilir. Çoğu rendering kabaca bir ışınsallık tahminine sahiptir ve bunu, bütün sahneyi ambiyans denilen faktör ile hafifçe aydınlatarak yapar. Bununla birlikte, gelişmiş bir ışınsallık tahmini ile yüksek kalitede bir ışın takip algoritması beraber kullanıldığında resimlerin, özellikle de kapalı alan sahnelerinde, ikna edici bir gerçeklik sergilediği görülür.

Gelişmiş ışınsallık simülasyonlarında, yinelemeli sonlu eleman algoritmaları ışığı modeldeki yüzeyler arasında belirli bir yineleme limitine ulaşana kadar ileri- geri yansıtır. Bu sayede, bir yüzeyin renklendirilmesi komşusunun da renklendirilmesini etkiler. Tüm modelin aydınlanma sonuçları (bazen boş alanlarınki de dahil olmak üzere) depolanır ve bunlar, ışın kalıplaması ve ışın takibi modelleri hesaplamalarında ek girdiler olarak kullanılır.

Hızlı ışınsallık hesaplamalarının standartlaştırılmasından önce, kimi grafik sanatçıları yanlış ışınsallık adı verilen teknik kullanmışlardır. Bu teknikte, dokuma haritasının ilgili köşelerinin, birleşme yerlerinin ve girintilerinin alanlarını karartılır ve bunlar kendini aydınlatma ve dağılım haritalaması yardımıyla hat tarama sıvalaması için uygulanır. Şu anda bile, gelişmiş ışınsallık hesaplamaları duvardan, zeminden ve tavandan yansıyan ışığın oluşturduğu odanın ambiyansını, bu karmaşık nesnelerin yarattığı ışınsallığın katkısını incelemeden hesaplar veya karmaşık nesneler, ışınsallık hesabı sırasında benzer boyutta ve dokuda daha basit nesneler ile yer değiştirilir.

Eğer sahnedeki nesnelerin ışınsallığında ufak bir değişiklik olursa, aynı ışınsallık verisi pek çok film karesi için tekrardan kullanılabilir ve bu sayede ışınsallık, ışın kalıplamasındaki düz yüzeyliği geliştirirken zaman başına sıvalanan genel film karesini ciddi bir şekilde etkilemez. Bu sebepten, ışınsallık öncü gerçek zamanlı sıvalama tekniği olmuştur ve son zamanlarda çekilen uzun metrajlı 3 boyutlu animasyonların oluşturulmasında kullanılmıştır.

2.4. Işın takibi

Işın takibi tekniğinde amaç, zerrecik olarak yorumlanan ışığın doğal akışını simule etmektir. Işın takibi tekniklerine, rendering denklemini tahmin etmek amacıyla Monte Carlo teknikleri uygulanır. En çok kullanılan ışın takip tekniklerinden bazıları: Patika takibi, Çift Yönlü Patika Takibi veya Metropolis Işık Ulaşımıdır. Bunlara ek olarak melez yöntemler ve Whitted Tarzı Işın Takibi gibi yarı gerçekçi teknikler de mevcuttur. Yöntemlerin çoğu ışığı doğrusal olarak yayılmasına izin vermekle beraber, uygulamaların göreceli uzay-zaman etkilerinin simülasyonu üzerinde etkileri mevcuttur.

Işın takibi ile oluşturulacak bir ürünün son hali için, her bir piksel için çeşitli ışınların çekimi yapılır. Optiğin bilinen yasalarından “geliş açısı ile yansıma açısı birbirine eşit olmalıdır” ile kırılma ve yüzey pürüzlülüğüyle ilgilenen daha ileri seviye optik yasalarını kullanarak, bu ışınlar ilk nesne ile kesişim yerine ardışık yansımalara kadar takip edilir.

Işın bir ışık kaynağı ile karşılaşana dek veya daha muhtemeli, belirli bir seviyedeki yansıma sayısı değerlendirildiğinde, o noktadaki yüzey aydınlanması yukarıda anlatılan teknikler ile yapılır. Daha sonra, çeşitli yansımalar arasındaki yolda meydana gelen değişikler, bakılan noktada bir değer tahmin etmek amacıyla değerlendirilir. Bu işlem her örnek ve her piksel için tekrarlanır.

Dağılımsal ışın takibinde, her bir kesişim noktasında ışınlardan çok sayıda üretilir. Öte yandan patika takibinde ise, her bir kesişim noktasında Monte Carlo deneylerinin istatistiksel doğasından faydalanarak sadece bir tane ışın ateşlenir.

Temelindeki işleyiş yüzünden, ışın takibi gerçek zamanlı uygulamalarda kullanılabilirliği çok yavaş olduğundan tercih edilmezdi. Hatta yakın geçmişe kadar herhangi kalitedeki bir kısa film için bile çok yavaştı. Buna rağmen, ardışık özel efektlerde ve reklamların yüksek kalite gerektiren kısa bölümlerinde ışın kalıbının kullanımına rastlanabilir.

Öte yandan, ayrıntının yüksek olmadığı veya ışın takibinin özelliklerine bağımlı olmadığı iş bölümlerinin hesaplamalarını düşürmek için yapılan iyileştirme çalışmaları, yakın zamanda ışın takibi tekniğinin daha geniş kullanımına yönelik sonuçlar doğurdu. Şu anda, prototip( ilk örnek) aşamasında bile olsa, ışın takibini hızlandıran donanım ekipmanları ve gerçek zamanlı ışın takibi donanımı ve yazılımı kullanan oyun demoları piyasada mevcuttur.

  1. Optimizasyon
  2. Sahne Geliştirme sırasında sanatçının kullandığı optimizasyonlar

Yüksek sayıda hesaplamalardan ötürü devam etmekte olan bir işe, genellikle sadece o süre içinde yapılmış iş kadar ayrıntılı rendering işlemi uygulanır. Bu sebeple, modellemenin ilk safhalarında hedeflenen çıktının ışınsallık içeren ışın takibi olduğu durumlarda bile, tel kafes (wireframe) ve ışın kalıplaması kullanılabilir. Sahnenin sadece yüksek ayrıntılı parçalarının renderinglenmesi ve geliştirilen o sahnedeki önemli olmayan nesnelerin yok sayılması oldukça yaygındır.

  1. Gerçek zamanlı rendering için genel optimizasyonlar

Gerçek zaman rendering’i için, bir veya daha fazla yaygın yakınlaştırmayı sadeleştirmek uygundur ve bunlar, en iyi sonucu almak için önceden karar verilmiş parametrelere ayarlanmış ilgili sahnedeki hassas parametrelere ayarlanır.

  1. Örnekleme ve filtreleme

Hangi yöntemi seçerse seçsin tüm rendering sistemlerinin uğraşmak zorunda olduğu örnekleme sorunu vardır. Temel olarak, rendering süreci resim uzayından resimlere, sonlu sayıda piksel kullanarak sürekli bir fonksiyon resmetmeye çalışır. Örnekleme teoreminin sonucu olarak, tarama frekansı nokta oranının iki katı olmalıdır ki bu da resim çözünürlüğüyle orantılıdır. Daha basit terimlerle, bu durum bir resmin bir piksel küçük ayrıntıları sergileyemeyeceğini ifade etmektedir.

Eğer orta halli bir rendering algoritması kullanılırsa, resim fonksiyonundaki yüksek frekanslar resmin son halinde kenarlarda bulunacak çirkin çentikli görüntülere(aliasing) neden olacaktır. Çentikli görüntüler kendilerini nesnelerin köşelerinde testeremsi bir yapı olarak gösterecektir. Çentikli görüntüyü ortadan kaldırmak adına, tüm rendering algoritmalarının yüksek frekansları yok etmek için resim fonksiyonunu filtrelemesi gerekmektedir. Bu işleme “çentik yok etme” (antialiasing) adı verilir.

  1. Matematiksel işleyiş
  2. Rendering denklemi

Bu denklem rendering için anahtar teorik konudur. Rendering’in algılanması zor yönünün en özet ve düzgün halidir. Diğer tüm eksiksiz algoritmalar bu denklemin belirli biçimlerinin çözümleri olarak görülebilir.

Yukarıdaki denklemin anlamı, belirli bir konum ve yönde giden ışık (Lo), emilen ışık (Le) ve yansıyan ışığın toplamına eşittir. Yansıyan ışık ise bütün yönlerden gelen ışığın toplamının yüzey yansıması ve ışığın gelme açısıyla çarpımına eşittir. Bir etkileşim noktasıyla dışarı doğru olan ışığı içeri doğru olan ışık ile bağdaştırması nedeniyle, bu denklem sahnedeki tüm ışığın ulaşımını sağlamaktadır.

  1. Çift yönlü yansıma dağılım fonksiyonu

Çift Yönlü Yansıma Dağılım Fonksiyonu, ışığın yüzey ile temasını basit bir model ile ifade eder:

Işık teması sıklıkla daha basit modeller ile hesaplanır: dağılım yansıması ve ayna benzeri yansıma. Modellerin ikisi de Çift Yönlü Yansıma Dağılım Fonksiyonu olabilir.

  1. Görsellik
  2. Geometrik görüş

Rendering, geometrik görüş olarak da bilinen ışık fiziğinin zerre yönüyle özel bir şekilde ilgilidir. En basit seviyede, ışığı etrafta yansıyan zerreler olarak ele almak uygun bir basitleştirmedir. Işığın dalga yönü pek çok sahnede yok sayılacak boyuttadır ve bunların simülasyonu çok zordur. Işığın dalgasal yönünün görülebildiği kayda değer fenomenler, CD ve DVD’lerin üzerindeki renkler ile LCD’lerdeki kutuplaşmadır. Her iki etki, eğer gerekirse, yansıma modelinin görünüm kökenli değişimiyle yapılabilir.

  1. Görsel algılama

Her ne kadar az ilgi çekse de, insanoğlunun görsel algılamasının anlaşılması rendering için önemlidir. Bunun asıl nedeni resim gösterimlerinin ve insan algısının sınırlarının olmasıdır. Bir rendering işlemi sınırsıza yakın çeşitlilikte parlaklık ve renk simülasyonu yapabilir ancak bunlar günümüz sinema ekranları ve bilgisayar monitörleriyle görüntülemez, bu sebeple kimi fazlalıklar atılır veya sıkıştırılır. İnsan algısının da belirli sınırları vardır ve gerçeklik yaratmak için geniş çeşitlilikte resimler verilmesine gerek yoktur. Bu durum resimlerin ekrana sabitlenmesi sorununu çözmekte yardımcı olur ve buna ek olarak, ne tür kısa yolların sıvalama simülasyonunda kullanılabileceğine dair yol gösterir. Bu konuya tonlama haritası adı verilir.

Rendering sırasında matematiksel anlamda lineer cebir, calculus, sayısal matematik, sinyal işleme ve Monte Carlo teknikleri kullanılır.

  1. Donanımsal yön

Gerçek zamanlı 3 boyutlu rendering sahip olduğu yüksek işleme ve bellek erişimi oranında ötürü fazla güç tüketir. İş yükündeki ve algısal toleranstaki değişkenlik yüzünden, “güç farkındalığı” bu güç tüketimini kayda değer bir şekilde optimize edebilir; bunun sonucu olarak geleceğin güç bakımından sınırlı cihazlarından PDA’lar, tabletler ve telefonlara geçişe kolaylık sağlayabilir.

Güç farkındalığı üstünde yapılan araştırmalardan birinde, bu konuyla ilgili önerilen düşük güç tüketimi “Yaklaşık Görsel Rendering (YGR)” e dayanmaktadır. YGR sistemi çeşitli algoritmaları ve önceden belirtilmiş kesin parametrelere dayalı işlemsel mekanizmalardaki değişimleri desteklemektedir. Görsel imgelerin sinyal ve gürültü modelleri ile insanın görsel algılaması hakkında önceden sahip olunan bilgi sayesinde en düşük güç tüketiminde elde edilecek kaliteyi sağlayan konfigürasyon seçilir.

YGR sistemi kullanılarak elde edilen güç tasarrufu, 3 boyutlu rendering sisteminin en çok güç tükettiği iki evre olan gölgeleme ve doku haritalamasında test edilmiştir. Bu maksatla CORDIC ( iterative COordinate Rotation DIgital Compter) algoritması ile algılanan imgenin uzaysal bağıntısını dinamik olarak zenginleştiren bir program tercih edilmiştir. Tercih edilen algoritmanın ve programın güç tasarrufu tahminini yapmak için, donanım sentezi ve tanınmış 3 boyutlu değerlendirme deneyi ve Quake 2 bilgisayar oyunu kullanılmıştır. Gölgelemede %75.1, doku haritalamasında %73.8 ve CORDIC algoritmasının kullanıldığı rendering’te %72 oranında güç tasarrufu sağlanmıştır.

  1. Gölgeleme

3 boyutlu modellerde veya illüstrasyonlarda derinliği karanlık seviyesinde değişiklik yaparak elde etmeye “gölgeleme” adı verilir.

  1. Çizimde gölgeleme

Kağıt üzerinde çizim yaparken karanlık seviyesini resmedebilmek için koyu renkli bölgelerin daha yoğun, açık renkli bölgelerin az yoğun medya uygulanmasına gölgeleme denir. Aralarında, değişen yakınlıktaki dik çizgilerin ızgarasal model içerisinde çizildiği çapraz bölmelemenin (cross hatching) bulunduğu pek çok gölgeleme yöntemi vardır. Çizgiler birbirine yaklaştıkça daha koyu bir bölge oluşur. Benzer mantıkla, çizgiler birbirinden uzaklaştıkça daha açık renkli bölge oluşur.

  1. Bilgisayar grafiğinde gölgeleme

Bilgisayar grafiğinde gölgeleme, bir rengi ışığa olan açısı ve ışığa olan uzaklığına bağlı olarak gerçekçilik katmak için değiştirme sürecine “gölgeleme” denir.

  1. Işık kaynağına olan açı

Gölgeleme, 3 boyutlu bir modelde yüzeylerin renklerini yüzeyin ışık kaynağı ile olan açısına göre değiştirilir.


Şekil 4. Gölgeleme

Yukarıda görülen 3 resimden en soldakinin bütün yüzeyleri rendering’e maruz bırakılmıştır; ancak hepsi aynı renktedir. Resmin görülmesini daha kolay kılmak adına kenar çizgilerine de rendering uygulanmıştır. Ortadaki resimde kenar çizgileri hariç rendering işlemi uygulanmıştır ve bu durumda bir yüzeyin nerede bitip diğerinin nerede başladığını söylemek zordur. En sağdaki resimde rendering işlemi gölgeleme ile beraber yapılmıştır ve resim daha gerçekçi olup yüzeylerin her biri kolayca görülebilmektedir.

  1. Işık kaynakları

Çevre ışığı: Sahnedeki bütün nesneler eşit olarak ve gölgeleme eklenmeden aydınlatılır.

Yönsel ışık: Bu tarz ışık kaynakları, verilen yönden bütün nesneleri eşit olarak aydınlatır. Bu, sahneden sonsuz uzaklıkta ve büyüklükte bir ışık bölgesinin olması gibidir. Gölgeleme vardır; ancak mesafe azalması durumu yoktur.

Nokta ışık: Nokta ışığı tek bir noktadan başlar ve dışarı doğru tüm yönlerde yayılır.

Sahne ışığı (spotlight): Nokta ışık gibi tek bir noktadan kaynağını alır ve dışarı doğru konik bir yönde yayılır.

Alan ışığı: Tek bir düzlemden kaynağını alan “alan ışığı” verilen yöndeki tüm nesneleri, o düzlemden başlayarak aydınlatır.

Hacim ışığı: Çevrelenmiş bir uzay içindeki nesneleri aydınlatır.

Gölgelemenin ara değeri, yukarıda verilmiş ışık kaynaklarından gelen ışınların sahnedeki nesnelerle yaptığı açıya göre hesaplanır. Bu ışık kaynakları sıklıkla bir arada kullanılır. Bu noktada, rendering’i yapacak program bu ışınların nasıl bir arada kullanılacağının ara değerini hesaplar ve buna göre ekrana yansıtılmak üzere 2 boyutlu bir resim oluşturur.

  1. Mesafe azalması

Teorik olarak paralel konumlu iki yüzey uzak bir ışık kaynağı ile eşit miktarda aydınlanır. Bir yüzey daha uzakta olsa bile göz bunun çoğunu aynı uzayda görür, bu sebepten eşit aydınlanma oluşur.


Şekil 5. Gölgelemede mesafe

Soldaki resimdeki iki kutunun ön yüzeylerinin renkleri tamamıyla aynıdır. İki yüzün birleştiği yerde hafif farklılık gözlemleniyor olsa da; dikey kenarın iki yüzeyin birleşim yerinden alçakta olmasından ötürü bir göz yanılsamasıdır.

Sağdaki resimde öndeki kutunun yüzeyi daha açık, arkadaki kutunun yüzeyi daha koyudur. Aynı zamanda zemin uzağa doğru gittikçe açık renkten koyuya kaymaktadır. Bu mesafe azalması etkisi sayesinde ek ışık kaynağı eklemek zorunda kalmadan daha gerçekçi resimler oluşturulabilir.

Mesafe azalması değişik yöntemlerle hesaplanabilir:

Doğrusal- Işık kaynağından x birim uzaklıkta olan bir nokta için gelen ışık x birim daha az parlaktır.

İkinci dereceden denklem- Bu yöntem gerçek hayatta ışığın işleyişiyle aşağı yukarı aynıdır. Biri diğerinden ışık kaynağına iki kat daha uzakta olan bir nokta, dört kat daha az aydınlanmış olur.

N’ inci kuvvet- Işık kaynağından x birim uzaklıkta olan bir nokta, ışığın 1/(x^n) kadarını alır.

Bunlar dışında herhangi bir matematiksel fonksiyon da kullanılabilir.

  1. Düz yüzey ve pürüzsüz yüzey gölgelemesi

Şekil 6. Gölgeleme çeşitleri

  1. Düz yüzey gölgelemesi

Düz yüzey gölgeleme 3 boyutlu bilgisayar grafiğinde bir aydınlatma tekniğidir. Bu teknikte nesnenin her bir çokgeninin, çokgenin normali, konumu ve ışık kaynağının yoğunluğu dikkate alınarak gölgeler. Daha gelişmiş gölgeleme tekniklerinin çok pahalı olduğu durumlarda hızlı rendering için kullanılırdı. Ancak 20. yüzyılın sonlarına doğru piyasadaki çok pahalı olmayan grafik kartlarının zaten hızlı olan pürüzsüz gölgelemeyi sağlamaya başlamasıyla birlikte, görüntü kalitesi olarak başarılı olmayan düz yüzey gölgelemenin hız sebepleriyle tercih edilmesini gereksiz kıldı.

Düz yüzey gölgelemenin en büyük dezavantajı az köşegenli modellere fasetalı bir görüntü vermesidir. Bazen bu durum kutusal modellerde avantajlı olabilmektedir. Sanatçılar kimi zaman yarattıkları katı modelin köşegenlerine bakmak için düz yüzey gölgelemeyi kullanır. Daha gerçekçi ve gelişmiş aydınlatma ve gölgeleme teknikleri Gouraud gölgelemesi ve Phong gölgelemesidir.

  1. Gouraud gölgelemesi

Gouraud gölgelemesi: 3 boyutlu grafikte, 1970 yılında Henri Gouraud tarafından geliştirilen ve gölgeli bir yüzeyi her bir üçgenin köşelerindeki renk ve aydınlamayı dikkate alarak hesaplayan bir tekniktir. Bir sonraki başlıkta bahsedilecek olan Phong gölgelemesinden daha hızlı olan Gouraud gölgelemesi, en basit rendering tekniğidir. Üçgenlerin noktalarındaki yüzey normalleri, üçgenin yüzeyi boyunca ortalaması alınmış RGB değerlerini oluşturmak için kullanılır.

  1. Phong gölgelemesi

Phong gölgelemesi: 1970’lerin ortalarında Phong Bui- Thong tarafından geliştirilmiş, gölgeli bir yüzeyi her bir pikseldeki renk ve aydınlanmayı kullanarak hesaplayan bir tekniktir. Gouraud gölgelemesinden daha gerçekçi sonuçlar verir; ancak daha fazla işleme ihtiyaç duyar. Üçgenlerin noktalarının yüzey normalleri her bir pikselin yüzey normalini hesaplamak için kullanılır ve sonuç olarak her bir piksel için daha hassas RGB değerleri yaratılır.


Şekil 7. Nükleer reaktörün Phong gölgelendirmesi ile 86 adet ışık kaynağı kullanılarak görselleştirilmesi

Sonuç

Görüntünün ham halinin bilgisayar tarafından işlenmesi işlemi olan rendering; mimarlık, bilgisayar oyunları, simulatörler, sinema ve televizyon gibi digital ortamlara oldukça hakimdir. Tasarımın en çarpıcı noktalarından biri olan rendering yoğun ve uzmanlık gerektiren işlemleri ile çarpıcı sonuçlar elde edilmesini sağlamaktadır. Bu projede, rendering basamakları ayrıntılarıyla anlatılmış olup ek olarak gölgelendirme üzerinde durulmuştur. Günümüzün gelişen teknolojisi ve bu teknolojiye ulaşımın kolaylaşması ile birlikte geçmişteki ilkel grafik kullanımının yerini çok daha gelişmiş görseller almıştır.

Kaynaklar

http://www.absoluteastronomy.com/topics/Shading

http://www.answers.com/topic/phong-shading-technology

http://www.answers.com/topic/gouraud-shading-technology

http://en.wikipedia.org/wiki/Rendering_(computer_graphics)

http://www.ingentaconnect.com/content/klu/vlsi/2005/00000039/F0020001/05273790

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir