Oyun grafikleri son on, hatta bilhassa son beş yıl içerisinde çok önemli ilerlemeler kaydetti. Gerçekçi görsellere yetişmek hedefiyle donanımlar daima gelişmeye devam ediyor. Öte yandan teknoloji devleri daha yüksek kalite, performans ve tecrübe sunmak gayesiyle yazılım alanında her geçen gün üzerine koymaya devam ediyor. Artık tıpkı ray tracing (ışın izleme) üzere, gelecekte ismini sıkça duyacağımız, epeyce kıymetli bir teknolojiye bakacağız: path tracing.
NVIDIA, GDC 2022 ile birlikte sürece tekniklerini bir sonraki noktaya taşımak maksadıyla kimi adımlar attı. Yakın vakitte “en hakikat sürece yöntemi” olarak duyurulan bu teknoloji, ışın izleme ve grafikler kelam konusu olduğunda çıtayı yükseltecek üzere görünüyor.
Basitçe söylemek gerekirse path tracing (yol izleme), imgeyi çoğaltabilmek için tek bir piksel ile birlikte rastgele taraflarda sıçramalar yaparak ışık yolunu simüle etmeye dayanan daha gelişmiş bir ışın izleme biçimi. Işınlar doğrusal bir halde izlenmek yerine, ışık kaynağından amaç objeye kadar birçok sıçrama üzerinden izlenmekte.
Grafik Araştırmaları Lider Yardımcısı Aron Lefohn, RTX 3090 ve bu teknikle birlikte neler yapılabileceğini gösteren birçok görüntü klip yayınladı. Ormanda yürüyen bir kaplanı gösteren klipte, 3 milyar örneklenmiş üçgen olduğu bildirilen 30 sıçramalık bir metrikle yol izleme özelliği bulunuyor. Üstteki tweet dizisinden yayınlanan tüm görüntüleri görebilir, fikir sahibi olabilirsiniz.
Bununla birlikte, Unreal Engine bir müddettir path tracing dayanağına sahipti ve YouTube kullanıcısı BlackOudanArt tarafından oluşturulan aşağıdaki görüntü, tıpkı GPU’nun neler yapabileceğini gözler önüne seriyor. Gölgelerin derinliğini ve yumuşaklığını, ahşap ve metal dokuların foto-gerçekçi tabiatını ve ışığın canlı imgesini burada görebilirsiniz.
Path tracing gerçek vakitli ilerliyor, dinamik ışık ve gölge, yansımalar ve kırılmalarla dolu etkileşimli, fotogerçekçi 3B ortamların oluşturulması için kapıları aralıyor. Pekala “yol izleme” olarak Türkçeye çevirebileceğimiz path tracing tam olarak nedir?
İlk olarak, oyun ve donanım dünyasında karşımıza çıkan kimi tabirleri tanıyalım ve gelişmiş grafikler oluşturmak için tüm bu teknolojilerin nasıl kullanıldığına bakalım.
Oyunlarda yahut çeşitli yazılımlarla üretilen görseller ekseriyetle üç boyutlu. Rasterizasyon (rasterleştirme) ile üretilen manzaralar yalnızca tek bir bakış açısına yönelik. Bu teknik esasen en başından beri GPU’ların kalbinde yer aldı. Çağdaş NVIDIA GPU’lar saniyede 100 milyardan fazla rasterizasyona uğramış piksel üretebiliyor. Bu da rasterleştirmeyi oyun üzere gerçek vakitli grafikler için ülkü hale getiriyor.
Işın izleme (ray tracing) ise çok daha güçlü, bizleri cezbeden görseller sunan büsbütün farklı bir teknik. Yani tek bir noktayla hudutlu değiliz ve birçok farklı noktadan, birçok farklı taraftan bakıldığında görülebilen gerçekçi nesneler/objeler üretilebiliyor. NVIDIA, Turing mimarisinden başlayarak bu kuvvetli iş yüklerinin üstesinden gelebilmek için RT çekirdekleri sunmaya başladı. Bugün tek bir GPU saniyede milyarlarca ışını işleyebiliyor. Öte yandan AMD, RDNA 2 mimarisi ve Radeon RX 6000 serisi ekran kartlarıyla birlikte ışın izleme dünyasına giriş yaptı. Intel tarafından piyasaya sürülen Xe-HPG tabanlı Arc Alchemist ekran kartları tekrar NVIDIA’dakine emsal formda ışın izleme donanımları taşıyor.
Tüm bu ışınları izleyebilme imkanı, ışığın gerçek dünyada nasıl dağıldığını, rasterleştirme ile mümkün olandan çok daha hakikat bir formda simüle etme imkanı tanıyor. Lakin bu ışığı nasıl simüle edeceğiz ve bu simülasyonu GPU’ya nasıl getireceğiz?
NVIDIA grafik araştırmaları lider yardımcısı David Luebke, 16. yüzyılda, Kuzey Avrupa Rönesansının en değerli isimlerinden biri olan Albrecht Dürer’in kıssasını anlatarak bir tanımlama yapıyor. Ünlü ressam, 3 boyutlu bir imgeyi 2 boyutlu bir yüzeyde çoğaltmak için ip ve tartılar kullanırdı. Dürer, klasik ve çağdaş matematiği sanatla bir ortaya getirmeyi, söz ve gerçekçilikte atılımlar gerçekleştirmeyi bir amaç haline getirdi.
Dürer, 1525’te Treatise on Measurement ile ışın izleme fikrini birinci tanımlayan kişi oldu. Dürer’in fikri nasıl tanımladığını görmek, konsepti anlamanın en kolay yoludur. Yalnızca ışığın etrafımızda gördüğümüz dünyayı nasıl aydınlattığını bir düşünün. Artık ışınları Dürer’in kullandığı üzere bir ip modülüyle gözden geriye yanlışsız, ışığın etkileştiği objelere kadar takip ettiğinizi hayal edin. Işın izleme budur.
IBM’den Arthur Appel, Dürer’in vefatından 400 yıl sonra ışın izleme fikrinin bilgisayar grafiklerine nasıl getirilebileceğini, hesaplama süreçleri ve gölgelere uygulama sistemiyle gösterdi. On yıl sonra Turner Whitted, bu fikrin yansımayı, gölgeleri ve kırılmayı nasıl yakalayabildiğini gösteren birinci kişi oldu ve görünüşte kolay olan konseptin çok daha karmaşık bilgisayar grafiklerini nasıl mümkün kıldığını açıkladı. Sonrasında ilerleme daha da hızlandı.
Film üretim şirketi Lucasfilm’den Robert Cook, Thomas Porter ve Loren Carpenter, 1984 yılında bilgisayar grafiklerinde erişilemeyen hareket bulanıklığı, alan derinliği, yarı gölgeler, yarı saydamlık ve bulanık yansımalar dahil olmak üzere birçok yaygın sinema üretim tekniğini nasıl birleştirebileceğini detaylı olarak anlattı.
CalTech profesörü Jim Kajiya ise iki yıl sonrasında “The Rendering Equation” isminde yedi sayfalık bir makale yayınladı. Jim Kajiya, bilgisayar grafiklerini ışın izleme yoluyla fizikle birleştirdi ve ışığın bir sahne boyunca dağılma formunu gerçek bir halde temsil etmeyi mümkün kılan yol izleme algoritmasını tanıttı.
Path Tracing Nedir?
Path tracing tekniği geliştirilirken Jakiya’nın bilgileri beklenmedik bir ilham kaynağına döndü, ışınımsal ısı transferi yahut ısının bir ortama nasıl yayıldığı üzerine çalışmalar yapıldı. Bu alandaki fikirler, ışığın havadan nasıl geçtiğini ve yüzeylerden saçıldığını açıklayan sürece denkleminin ortaya çıkmasına vesile oldu.
Tekniği oluşturmak için gereken denklem epeyce kısa, lakin çözülmesi o kadar kolay değil. Dijital ortamdaki sahneler çok karmaşıktır. Oluşturma denklemini direkt çözmenin bir yolu yok, bu da Kajiya’nın ikinci değerli yeniliğine yol açtı.
Kajiya, denklemi çözmek için istatistiksel tekniklerin kullanılabileceğini gösterdi: direkt çözülmese bile, tek tek ışınların yolları boyunca çözmek mümkün. Işın yolunun uzunluğu sahnedeki aydınlatmayı hakikat bir halde yaklaştıracak kadar çözülürse, fotogerçekçi imajlar oluşturmak mümkün.
Peki bir ışın yolu boyunca sürece denklemi nasıl çözülür? Kajiya’nın uyguladığı istatistiksel teknikler Monte Carlo entegrasyonu olarak bilinir ve 1940’larda bilgisayarların birinci günlerine kadar uzanır. Path tracing için geliştirilmiş Monte Carlo algoritmaları geliştirmek, bugüne kadar açık bir araştırma sorunu olmaya devam ediyor; NVIDIA araştırmacıları, nizamlı olarak path tracing’in verimliliğini artıran teknikler geliştirerek bu işe öncülük ediyor.
Jim Kajiya aslında grafik alanındaki izleme tekniklerinin ana sınırlarını çizdi ve fitili ateşledi. Böylece bilgisayar tarafından fotogerçekçi imgeler oluşturmak mümkün hale geldi. Bilgisayar grafikleri için öncü isimlerden olan mühendisin bu yaklaşımı, ışığın gerçek dünyada hareket etme biçimini ayrıntılandırırken işin fizik kısmını yansıtıyordu. Nihayetinde günden güne çeşitli farklı sürece teknikleri ortaya çıkmaya başladı ve günümüzde çarpıcı gerçekçilik düzeylerine sahip görsel efektler her alanda kullanılıyor.
Yol izleme yaklaşımı, 1987’de birinci defa benimsendikten sonra başarılı bir teknik olarak görüldü, lakin gereğince pratik değildi. Kajiya’nın yepyeni makalesindeki imajlar sadece 256×256 pikseldi ve oluşturulması çok değerli bir bilgisayarda bile 7 saatten fazla sürdü.
Moore Yasası’nda belirtildiği üzere, mikroişlemcilerdeki verimlilik ve transistör sayıları katlanarak artmaya devam ederken bilgi süreç gücü kestirim edilemeyecek düzeylere ulaştı. Böylece grafik teknolojilerinin yanı sıra birçok alanda ilerlemeler kaydedildi.
1998 yılında yayınlanan A Bug’s Life’dan başlayarak, ışın izleme tekniği her geçen gün daha fazla sinemada kullanıldı. 2006 yılında gösterime giren Monster House ise iz bırakan sinemalar ortasında yerini aldı. Monster House, Solid Angle SL (Autodesk tarafından satın alındı) ve Sony Pictures Imageworks ile ortaklaşa geliştirilen Arnod yazılımı kullanılarak meydana getirildi.
Dünya çapında 140 milyon dolardan fazla hasılat elde eden sinema aslında bilgisayar animasyonlarının gelecekte neler sunabileceğini gösteren bir fragman üzereydi. Bilgi süreç gücü ve donanımlar geliştikçe her şey daha da hızlandı ve daha fazla sinema bu çeşit teknikleri kullanmaya başladı. Bu günlerde karşımıza çıkan kimi klipleri kamera tarafından çekilen imajlardan ayırt etmek sahiden güç.
Donanımlar gelişti gelişmesine, fakat hala birtakım problemler var. Tek bir imgeyi işlemek hala saatler alıyor. Hatta eksiksiz bir sinema yapmak, manzaraları işlemek için “render farms (işleme çiftlikleri)” ismi verilen geniş sunucu sistemleri inşa ediliyor ve bunlar aylarca daima çalışıyor.
Oyunlarda path tracing fikri kısa vakit öncesine kadar hayal bile edilemezdi. Birçok oyun geliştiricisi, muhtaçlık duyduğu performansa sahip oldukları takdirde gerçek vakitli grafikler için “yol izleme” tekniğini kullanmak istediğini açıkça belirtmişti. Lakin geçmişte donanımlarla sunulan performans çok yetersizdi ve bu fikir ulaşılamaz görünüyordu.
Sonrasında GPU’lar gelişmeye devam etti ve artık ışın izleme takviyeli donanımlara ulaşmak o kadar da güç değil. Tıpkı sinemalarda olduğu üzere, bu teknolojileri oyunlarda birinci olarak sonlu bir halde gördük. Lakin artık tanıklık ettiğiniz üzere ray tracing dayanaklı oyunların sayısı süratle artıyor. Ayrıyeten belli ışın izlemeli oyunlar, klasik rasterizasyon tabanlı sürece tekniklerini birtakım ışın izleme efektleriyle birleştiriyor.
Geliştiriciler isterlerse tekniklerin oyunlarında bir karışımını kullanabilirler. Oyun geliştiricileri, birincil ışınlar üzerinde rasterizasyon yapabilir ve akabinde sahnenin aydınlatılması için ışın yolunu izleyebilir.
Rasterizasyon, kolay tabirle tek bir noktadan bir dizi ışığı yayma sürecidir. Işın izleme bunu daha da ileri götürür ve ışınları birçok noktadan rastgele bir istikamete gönderebilir. Yol izleme (path tracing) ise ışın izlemeyi daha büyük ışık simülasyon sisteminin bir bileşeni olarak kullanan gerçek ışık fiziğini simüle eder. Bu, bir sahnedeki tüm ışıkların (Monte Carlo yahut öbür teknikler kullanılarak) odalara yahut ortamlara stokastik olarak örneklendiği manasına gelmekte.
Simüle etme sürecinde bir ışını tek bir sekmeden geriye gerçek izlemek yerine, ışınlar ışık kaynaklarına kadar, çoklu sekmeler üzerinden izleniyor. Birkaç oyun bunu esasen yapıyor ve sonuçlar hayli etkileyici. Hatırlarsanız Microsoft, Minecraft’ta path tracing’i çalıştıran bir eklenti yayınlamıştı. Öte yandan Quake II yeni bir eklenti sayesinde bu tekniği kullanabiliyor.
Doğrusu hala yapılacak çok şey var. Öte yandan tüketicilerin bu tıp tecrübeleri yaşaması için yüksek bilgi süreç gücü sunabilen, güçlü donanımlara sahip olması gerekiyor. Oyun geliştiricileri ise teknoloji dünyasındaki gelişmişlik düzeyine nazaran daha kaliteli, birebir vakitte daha fazla güç gerektiren oyunlar tasarlıyor. Ek olarak, görsel hesaplama kelam konusu olduğunda en şiddetli projelerin oyunlar olduğunu belirtelim.
Path tracing tekrar bir ışın izleme biçimi, fakat iki manzara oluşturma tekniğinin ortalarında kimi nüanslar var. Ray tracing (ışın izleme) izleme tekniği aslında ismiyle her şeyi açıklıyor. Bu bağlamda ışınlar simüle ediliyor ve köklerinden son noktasına kadar izleniyor.
Buna karşılık path tracing, başlangıç noktası ile gaye ortasında rastgele istikametlerde ayrılmak üzere yayılan farklı ışınlar üretiyor. Yansıyan ışık, ışın izlemedeki üzere doğrusal biçimde değil, yüzeylere ulaştığında vereceği farklı reaksiyonlarla birlikte gerçekçi tasvirlerle sonuçlanıyor. Nihayetinde path tracing çok daha geniş kapsamlı ve gelişmiş bir teknik. Bu nedenle donanımsal olarak daha fazla kaynak gerektirdiğini not düşelim.
GPU’lar güçlenmeye devam ettikçe “path tracing” kullanımı daha yaygın hale gelmeye başlayacak. Örneğin Arnold (Autodesk), V-Ray (Chaos Group) ve Renderman (Pixar) üzere araçların yanında güçlü ekran kartlarına sahip olan dizayncılar ve mimarlar, fotogerçekçi maketleri saniyeler içinde oluşturmak için ışın izleme tekniklerini kullanıyor.
Ekran kartları artık her zamankinden daha fazla bilgi süreç gücü sunduğundan, ışın izlemenin akabinde path tracing için bir sonraki adım olacak. “Ada Lovelace” mimarisini temel alan RTX 40 serisi ekran kartlarının performans açısından sıçrama yapmasını bekliyoruz. Tekrar emsal atılımlar yüksek ihtimalle RDNA 3 mimarisi ve Radeon RX 7000 serisiyle birlikte AMD tarafında yaşanacak.
2018 yılında NVIDIA oyun geliştiricileri için sinema kalitesinde sürece sağlayan ışın izleme teknolojisini duyurdu. RTX teknolojisi, Ampere ve Turing mimarilerinde donanımsal olarak bir ışın izleme motoruyla birlikte çeşitli arabirimler aracılığıyla ışın izleme dayanağı sunuyor. Yeşil kadro ayrıyeten yeni DirectX Raytracing (DXR) API’si aracılığıyla tam RTX takviyesi sağlamak için Microsoft ile iştirak kurdu.
GPU devi birinci günden beri RTX teknolojisini geliştirmeye devam etti. RTX 30 serisiyle birlikte RT çekirdekleri ikinci kuşağa geçiş yaptı ve gerçek vakitli ışın izlemeyi destekleyen oyunlar yayılmaya devam ediyor. Bununla birlikte, RTX 40 “Ada” kartlarla birlikte sırf CUDA değil, RT ve Tensor çekirdeklerinde gelişmeler bekliyoruz.
AMD ise RDNA 2 mimarisiyle birlikte ekran kartlarına Işın Hızlandırıcılar (Ray Accelerator-RA) entegre etmeye başladı. Kırmızı grubun kartları bu mevzuda biraz daha zayıf, lakin yeni RDNA 3 mimarisi ile tekrar ışın izleme alanında önemli geliştirmeler yapmaları kaide.
Harici GPU pazarına birinci adımını bu yıl atan Intel, Xe-HPG mimarisiyle birlikte birinci jenerasyondan itibaren ışın izleme takviyesi sunuyor. Tekrar birebir formda, Arc ekran kartlarında entegre olarak ışın izleme çekirdekleri yer alacak. Şirket tıpkı vakitte yazılım tarafında değerli çalışmalar yapıyor.
Sonuç olarak ray tracing, path tracing ve öteki görüntüleme teknikleri önümüzdeki yıllarda sanayi tarafından daha fazla benimsenecek. Oyunlar, sanal gerçeklik ve hatta iş maksatlı kullanım alanları fark etmeksin, hayal edemeyeceğimiz sinematik görseller yakında bizimle olabilir.