TomTsagk'ın doğru cevabını genişleterek, oyunların neden bu şekilde çalıştığı hakkında biraz daha bilgi vermenin yardımcı olabileceğini düşündüm.
Oyunlardaki ışık, kaynaktan, yüzeye, kameraya, yol boyunca tıkanmaktan gerçekten "seyahat etmiyor".
Belirli bir ışığa dayalı olarak bir yüzeyin her pikselinin ne kadar parlak çizileceğini bulmak için, yüzeyin yüzey yönünü ve yüzeydeki bu noktadan ışık kaynağına yönünü kullanan bir matematik formülü kullanırız (veya yaklaşık olarak). İşte bu, sadece parladığı yön - ışığın gerçekten bu piksele ulaşıp ulaşmadığını kontrol etmek için bir ışın atmıyoruz çünkü ekrandaki her piksel için bunu yapıyor ve ışını sahnedeki tüm ayrıntılı geometriye göre kontrol ediyor. Genellikle gerçek zamanlı oyunlar için hala çok pahalı.
Bu nedenle, varsayılan olarak, hiçbir oyun ışığı gölgede bırakmaz. Işığın yönü, gölgesinde bir gölge atışı olsa bile aynı kalır, böylece matematik bize aynı parlaklık değerini verir.
Gölgeleri simüle etmek istiyorsak, bunu ayrı ayrı yapmalıyız. Ortak yollardan biri, Gölge Haritası denilen şeydir. Bu versiyonda, sahneyi gölgelendirmeden önce sahneyi her ışığın perspektifinden yapıyoruz, sanki bir kameramış gibi görüyoruz, gördüğü her pikselin derinliğini ekran dışı bir dokuda saklıyoruz.
Daha sonra sahneyi gölgelediğimizde, bu pikselin ışık mesafesinden matematiksel mesafesini, gölge haritasındaki karşılık gelen pikselde kaydettiğimiz derinliğe göre karşılaştırabiliriz. Gölge eşlemi derinliği daha küçükse, o zaman buradaki ve ışık arasında başka bir yüzey olduğu anlamına gelir ve biz bu pikseli gölgeye çizeriz.
Bu harita tabanlı gölgelerin daha az yapay ve diğer adlandırmalarla daha güzel görünmesini sağlamak için pek çok harika teknik var, ama şimdilik onları parlaklayacağım. Söylemek yeterli, onlar da genellikle özgür değil.
Çünkü bu, tüm sahnenin her ışığın perspektifinden tekrarlanmasını (en fazla) gerektirir - eğer her yöne doğru parlayan bir nokta ışık ise altı kata kadar (kuzey, güney, doğu, batı, yukarı, aşağı) ve yeniden yapmamız gerekir. -Bir şey hareket edince gölge haritayı verir, bu çok pahalı olabilir.
Bu yüzden, oyunlar genellikle iyi bir gölgeye sahip olmalarını sağlamak için render bütçelerini sahnedeki en önemli ışıklara - yönelimli güneş ışığı gibi - odaklayacaktır. Bir patlama patlaması gibi küçük, kısa ömürlü, minik ışıklar, tıkayıcıları biraz geçtikten sonra çoğu zaman affedilir. Genellikle bu, tüm ekstra gölge harita oluşturma ve hesaplama işlemlerinden elde edilen maliyet artışındaki ani bir artış nedeniyle kare hızındaki bir aksaklıktan daha fazla zevklidir. Özellikle akıcılığın piksel kusursuzluğundan daha önemli olduğu yoğun bir aksiyon sahnesiyse.