Bölüm 12: Odak Bulanıklığı (Alan Derinliği)
Fotoğrafçılıkta ve sinemada en çok sevilen görsel tekniklerden biri Alan Derinliğidir (Depth of Field / Bokeh). Ana karakter veya nesne jilet gibi netken, arka plandaki ve ön plandaki detaylar sanatsal bir şekilde bulanıklaşır.
Şu ana kadar kullandığımız kamera bir İğne Deliği (Pinhole) kameraydı; sonsuz netliğe sahipti çünkü tüm ışınlar tek bir noktadan (center) çıkıyordu.
Gerçek fotoğraf makinelerinde ise merceğin (diyaframın) belirli bir fiziksel boyutu vardır.
İnce Mercek Yaklaşımı (A Thin Lens Approximation)
Gerçek bir fotoğraf makinesinde odak düzlemindeki (focus_dist) nesneler film sensöründe tek bir noktaya odaklanırken; odak düzleminin önündeki veya arkasındaki nesneler geniş bir disk şeklinde yayılarak bulanıklaşır:

Bunu simüle etmek için ışınlarımızı tek bir center noktasından değil, kameranın etrafında küçük bir odak diski (defocus disk) içindeki rastgele noktalardan fırlatırız!
Odak diskinden çıkan tüm bu ışınlar, odak düzlemi (focus_dist) üzerindeki aynı hedef noktada birleşir. Dolayısıyla odak düzlemindeki nesneler jilet gibi net kalırken, önündeki veya arkasındaki nesneler farklı ışın açıları yüzünden bulanıklaşır!
Odak Diski İçinde Rastgele Nokta Seçimi
vec3.h dosyamıza birim daire içinde 2B rastgele nokta üreten fonksiyonumuzu ekleyelim:
| vec3.h (Odak Diski Yardımcısı) | |
|---|---|
Kameraya Alan Derinliği Eklenmesi
Kameramıza iki yeni ayar ekleyelim:
- defocus_angle: Işınların mercekten çıkış koni açısı. \(0\) ise mükemmel iğne deliği kamera (sıfır bulanıklık); değer büyüdükçe bulanıklık artar.
- focus_dist: Tam olarak net olmasını istediğimiz düzlemin kameraya olan uzaklığı.
Alan Derinliği Test Renderı
Merkezdeki küreye odaklanıp defocus_angle = 10.0 verdiğimizde:

Öndeki ve arkadaki nesnelerin nasıl yumuşacık bulanıklaştığına, merkezdeki kürenin ise nasıl kristal netliğinde kaldığına bakın!
Artık ışın izleyicimiz profesyonel bir sinema kamerası optiğine sahip. Şimdi son bölüme geçerek kitabın efsanevi kapak sahnesini inşa edelim!