Geçen hafta size NVIDIA RTX serisinin yeni dizüstü modellerinden bahsetmiştik. Nihayet yüksek performanslı Super modelleri ve fiyat düşüşleriyle birlikte, RTX serisi dizüstü sistemlerde de popülerleşecek gibi gözüküyor. İki sene önceki RTX lansmanı sırasında eleştirdiğimiz fiyatlar normalleşti ve zaman içinde RTX’in faydaları da arttı. Bunda performansa büyük katkısı olan DLSS’in yeni 2.0 sürümü ile birlikte görüntü kalitesinin ve piksel yükseltme seçeneklerinin artmasının da rolü var. Ama açık olalım eğer GTX yerine RTX tercih ediyorsak bunun asıl sebebi “Real-Time Ray Tracing”, Türkçesi ile “Gerçek Zamanlı Işın İzleme”, biz oyuncular için “DXR” yani DirectX Raytracing ya da “Vulkan Ray Tracing”.
Ben yazının kolay okunabilmesi adına bu terimlerden “DXR”ı kullanacağım, çünkü piyasaya çıkan oyunların büyük çoğunluğunda var olan destek bu. Ama unutmayın ki “Gerçek Zamanlı Işın İzleme” API’den, platformdan, cihazdan bağımsız olarak her türlü oyunda karşımıza çıkacak bir gün. Yani Candy Crush’da neden olmasın değil mi? Ama kısacası ve en basiti daha iyi ve gerçekçi grafikler. Gelin geçen iki senede olaylar nasıl gelişti ve bugün hangi noktaya geldik, DXR bugün ne ifade ediyor bir bakalım.
Bakalım bakmasına da aslında yazıyı hiç uzatmayıp en çıplak gerçeği direkt söyleyebiliriz de: “Dünyanın en çok beklenen oyunu Cyberpunk 2077, DXR desteği ile geliyor. Yani Cyberpunk’ı en iyi grafiklerle oynamak için RTX lazım” bitti, bu kadar. Merak etmeyin ben size uzun uzun anlatacağım tabii ama açık olalım, çoğumuzun fikrini belirleyecek tek gerçek bu olacak. Yaşı yetenler tek bir Half-Life 2’yi oynamak için hepimizin o zaman nefret ettiği Steam’i nasıl paşa paşa kullandığımzı hatırlar. Biz sıkı oyuncular için o en sevdiğimiz oyunu hakettiği gibi oynayalım da, birkaç ay aç kalsak da olur. O yüzden çoğumuz için bu teknolojiyi kullanma sebebi Cyberpunk olacak. Hatta eminim hali hazırda cihazında DXR desteği olanlar bile ilk defa Cyberpunk’da ayarlara girip bakacaklar nasıl açılıyor, nasıl kullanıyor diye.
İki resim ilk bakışta çok benzer görünebilir. Ama alan ve objeleri tek tek incelemeye başladığınızda özellikle ışık ve gölgelerdeki doğallık fark yaratmaya başlıyor. Bu farklar bir araya geldiğinde sahnedeki derinlik duygusu değişiyor.
Eğer Cyberpunk hayatımıza Gerçek Zamanlı Işın izlemeyi sokacaksa, buna sahip olmanın tek yolu da NVIDIA RTX olacak. Üzgünüm üst seviyeden vurdum ama gerçek gerçektir. Aaa… evet GTX’e de DXR desteği geldi, RDNA 2’de de DXR olacakmış falan filan… Ama açık olalım RTX dışındaki bir seçenekten DXR açtığınızda performans alma umudunuz var mı cidden? O zaman gelin biz Cyberpunk 2077 için aldığınız NVIDIA RTX kartınız ile başka neler yapabileceğimize bakalım.
RTX’in çıkışı sırasında birkaç sıkıntı vardı. Birincisi ışın izleme için altyapı desteğinin zayıf olması ve bunun oyunların bu teknolojiyi desteklemesini zorlaştırmasıydı. DirectX 12 Ultimate ve DXR’ın yaygınlaşması ile birlikte bu sorun çözülmüş gibi gözüküyor. Sadece Cyberpunk değil CoD: Modern Warfare, Watch Dogs: Legion, Control, Dying Light 2 gibi bir dolu oyunda artık desteği var veya geliyor. Muhtemelen haziran ayında sanal fuarlarda yeni nesil oyunlar açıklanmaya başladıkça liste hayli uzayacak. Kısacası artık PC’ye çıkan AAA oyunların çoğunda DXR desteğini göreceğiz.
Oyunların desteğinin bu denli artmasının bir sebebi de büyük yayıncıların DXR’a yatırım yapmaya hevesli olması. Şimdiden EA, Activision, Ubisoft, CD Projekt gibi çoğu büyük yayıncı bu işe girdi ve bu diğerleri üzerinde de kaçınılmaz olarak baskı yaratacak. Sonuçta kimse teknolojide geri kalmış gözükmek istemez. Ayrıca yeni nesil konsolların ışın izleme desteklemesi de önemli bir baskı unsuru. Yeni nesle oyun yapıyor ama ışın izleme desteklemiyorsan eksik iş yapmış gözükeceksin. Hiçbir geliştirici bunu istemez.
Işın izleme’nin kendini en net gösterdiği konu şeffaflık ve yansımalar. Rasterization bu ikisinde çok kötü olduğu için oyun geliştiriciler bol cam kullanmayı hiç sevmez. Bu da zamanla değişecek.
Destekleyen oyun sayısını arttıracak asıl şey ise oyun motorlarının desteği elbette. Sonuçta her geliştiricinin de bu babalar gibi kendi motorunu yazacak gücü yok. Burada da gözler Unreal Engine ve Unity’ye çevriliyor. Bu iki popüler motor da yaklaşık bir sene önce DXR desteğini duyurdular ve her ikisi de ışın izleme ile yapabileceğiniz temel efektlere sahip. Elbette geliştiricilerin bu fonksiyonları öğrenmesi, uygulaması, o projelerin tamamlanıp piyasaya çıkması vakit alıyor. Ama üzerinden bir sene geçtiğine göre artık sene sonuna doğru, bu motorları kullanan daha küçük yayıncıların da oyunlarında DXR desteğini kullanmaya başladığını görebiliriz. Kısacası bu sene DXR’ın bir standart haline geldiğini görmeye başlayacağız.
Gözlerimiz ne fark görecek?
Kısacası oyun desteği açısından DXR için işler yoluna giriyor artık. Ama diğer bir konu da destekleyen oyunlarda ne kadar fark gördüğümüz. Bu işte tamamen geliştiricinin yeteneği ve oyun yapısı ile ilgili ve bunu tam anlayabilmek için, çok basit de olsa ışın izleme ile önce ne yapabildiğimize bakmak lazım. Burada da temel beş tekniğe odaklanmak gerekiyor:
Ray Traced Shadows: Oyundaki gölgeleri ışın izleme ile çizerseniz kısa mesafede keskin ama uzaklaştıkça dağılan gerçekçi keskinlik ve tonlarda gölgeler elde edersiniz.
Ray Traced Reflections: Oyundaki yansımaları ışın izleme ile oluşturduğunuzda sadece ışık veya karaltı olarak değil görüntü olarak da yansımalar elde edersiniz ve ayrıca ekran dışında kalan objeler yansımalarda görünebilir.
Ray Traced Global Illumination: Bu aydınlatma tekniği ışın izleme kullanarak mekanlarda ışınların yüzeyler arasında yansıyarak doğal bir genel aydınlatma oluşturmasını sağlar.
Ray Traced Ambient Occlusion: Mekandaki yaygın ışığın objeler ile nasıl etkileşeceğini belirleyen bu teknik, ışın izleme ile yapıldığında özellikle kıvrımlı, katlı, kenarları olan objelerin daha gerçekçi ve daha doğal derinliğe sahip görünmesini sağlar.
Ray Traced Translucency: Cam gibi saydam yüzeylerin ışık geçirgenliğini eğer ışın izleme ile hesaplarsanız çok daha gerçekçi ve yansıma ve saydamlığı doğru dengeleyen görüntüler elde edersiniz.
Bu tekniklerin nasıl çalıştığını, nasıl göründüğünü ve detaylarını Unreal Engine’in şu sayfasında detaylı görebilirsiniz.
Şu ana kadar DXR desteğine sahip olan oyunlar genelde bu beş teknikten birini veya birkaçını kullanıyor. Gönül ister ki hepsini de kullansınlar ama performans sebebiyle bu her zaman mümkün olamayabiliyor. O yüzden de DXR’ın grafik kalitesine farkı hangi teknik seçildiğine ve nasıl uygulandığına göre değişebiliyor. Öncelikle oyunda bu tekniklerden hangi hangileri kullanılmış ve bu oyuna ne kadar uygunlar çok önemli.
Oyunun grafikleri ne kadar basit veya eskiyse ışın izlemenin farkı o kadar net görülüyor. Üstelik Minecraft RTX, ışın izlemeyi efekt olarak kullanmıyor, grafikler tümüyle ışın izleme ile oluşturuluyor (Path Tracing).
Diğer bir önemli konu da sizin donanımınızın bu efektleri ne kadar kaldırdığı. Çünkü ışın izlemenin klasik rasterization’dan bir farkı çok ciddi şekilde ölçeklendirilebilmesi. Yani sizin ışınları ne kadar izlemek istediğiniz performansı ciddi etkiliyor. Eğer ışınları iki kere sektirirseniz farklı, beş kere sektirirseniz farklı grafik kalitesi ve performans alıyorsunuz. DXR destekli çoğu oyunun ayarlarında gördüğümüz düşük, orta, yüksek seçenekler bunu ifade ediyor. Elbette siz istediğiniz kartla istediğiniz ayarı seçebilirsiniz, ama optimal FPS değerlerine göre ayarlandığında RTX 2060 ile RTX 2080 Super’in aynı sahnede vereceği görüntü arasında büyük fark olacaktır. Bunu özellikle ışın izlemeyi üç boyutlu tasarımda kullananlar çok iyi bilir. Bir sahne çizersiniz, sonra kaliteli olsun diye çekersiniz ayarları sonuna dek, ışınlar seksin de seksin, pürüzler, noktalar azalsın da azalsın. İki saat sonra gerçek yüzünüze vurur çizimi iptal edip insan gibi ayarlarla bir daha başlatırsınız. Işın izlemenin desturu da budur “Ne kadar ekmek, o kadar köfte”.
Bütün bunları değerlendirince ışın izleme ilk çıktığında elimizdeki örneklerin ne kadar zayıf olduğunu tekrar görüyoruz. Özellikle Battlefield V, “DXR nasıl kullanılmamalı” konusunda bütün sektöre iyi bir ders oldu. Sadece yansımaları kullanan oyun bunun da hakkını çok veremiyordu. İlk olarak Metro Exodus ile birlikte ışın izlemenin farkını, faydasını gördük ama bu oyun da sadece genel aydınlatmada kullanıyordu teknolojiyi.
Işın izlemenin hakkını gerçekten veren ilk oyunumuz ise Control oldu. Bana sorarsanız DXR bize ne katar diye düşünürken bakılması gereken oyun da bu. Çünkü diğerlerinden farklı olarak Control tam beş farklı ışın izleme tekniğini bir arada ve iyi kullanıyor. Bunlar yukarıda saydıklarımız değil, çünkü oyun Remedy’nin kendi geliştirdiği motoru kullandığından biraz daha farklı kullandığı teknikler. Ama gerçek anlamda ışın izleme kullanarak harika grafiklere sahip olan ilk oyunu Control olarak görmek çok da yanlış olmaz. Hatta tüm geliştiriciler için de bir anlamda ders niteliğinde ve Control ile birlikte DXR’ın sadece yaygınlığı değil, verdiği katkı da artacak gibi görünüyor. Control hangi teknikleri nasıl kullanıyor burada uzun uzun anlatmayacağım ama özellikle İngilizcesi olanlar bu konuda NVIDIA’nın hazırladığı şu makaleden bütün detaylarını görebilirler.
Eski Oyunlara Yeni Can
Tabii DXR’ın diğer bir ilginç kullanımı da grafiklerinin içi geçmiş oyunlara yeniden can vermek. Bu konuda Quake II RTX ve Minecraft RTX mutlaka dikkatinizi çekmiştir. Sonuçta bu ışın izleme teknolojileri doğru kullanıldığında o kadar çarpıcı ki eski oyunların düşük poligon ve dokularını bile bambaşka gösteriyor. Aslına bakarsanız bir sürü oyunun yeniden yapıldığı bu dönemde, bu imkana sahip olmayan oyunlar için muhteşem bir fırsat bu. Eğer yapımcılar oyunlarını DX12 uyumlu hale getirip DXR eklerlerse yeniden piyasaya sürme şansına sahip olabilir.
Renk ve dokular kalktığında iki metot arasında gölge ve ışık anlamında ne kadar fark olduğunu daha net görüyorsunuz. Özellikle kumaş gibi yumuşak kıvrımlı objelerde.
Aslında bunu yakında kendimiz de yapabileceğiz gibi. Mesela Skyrim’i, GTA 5’i veya Witcher 3’ü ışın izleme desteğiyle oynamak istemez misiniz? Çünkü eski oyunları canlandırmada çok kullanılan ReShade (reshade.me) yazılımına da ışın izleme desteği kapıda. Henüz beta aşamasında olan ve sadece Patreon destekçileriyle paylaşılan mod (www.patreon.com/mcflypg) dilediğiniz her oyuna ışın izleme desteği eklemenize olanak verecek. Etkisi elbette ki oyun geliştiricilerin yaptığı kadar değil ve RT çekirdeklerini kullanamadığından performansı zayıf. Ama bana sorarsanız DXR’ın en güzel kullanımlarından biri olabilir bu fikir. NVIDIA benzer bir özelliği GeForce Now ve Experience’a eklese ve eski oyunlardaki derinlik verisini kullanarak Ray Traced Ambient Occlusion tekniğini uygulasa tam anlamıyla bir çığır açar.
Işın izleme ve DXR dünyasındaki gelişmeler bu şekilde işte. Daha uygun fiyat, daha çok özellik, daha yüksek performans, daha çok oyun desteği ve daha fazla görsel fark… Günden güne RTX serisinin lansmanda vaat ettikleri hayata geçmeye başladı. O yüzden artık aradaki farkı verip de RTX almak anlamlı bir yatırım haline geldi diyebiliriz. Ama zaten Cyberpunk geliyor, hepimiz kesemiz yettiğince ve yettiğinde paşa paşa alacağız nasıl olsa =)
Firmalar ve oyun geliştiricileri tarafından çokça abartılan, pohpolanan bir teknoloji. Oyunlarda ışıklandırmalar, yansımalar sahte de olsa göz doyurucu, tatmin edici zaten, ayrıca gerçek zamanlı ışın izleme teknolojisinin grafik işlemcisine ciddi bir yük bindirdiği de ortada dolayısı ile olmasa da olur diye düşünüyorum ben.