Memperluas jawaban yang benar dari TomTsagk, saya pikir mungkin membantu untuk menjelaskan lebih banyak tentang mengapa game bekerja seperti ini.
Cahaya dalam gim tidak benar-benar "bergerak" dari sumber, ke permukaan, ke kamera, terhalang di sepanjang jalan.
Untuk mengetahui seberapa terang untuk menggambar setiap piksel permukaan berdasarkan pada cahaya yang diberikan, kami menggunakan (atau memperkirakan) rumus matematika yang menggunakan arah permukaan yang menghadap dan arah dari titik ini di permukaan ke sumber cahaya. Itu saja, hanya dari arah mana ia bersinar - kita biasanya tidak melempar sinar untuk memeriksa apakah cahaya benar-benar mencapai piksel ini, karena melakukan itu untuk setiap piksel pada layar dan memeriksa sinar terhadap semua geometri terperinci dalam adegan adalah biasanya masih terlalu mahal untuk game realtime.
Jadi, secara default, tidak ada lampu game yang memberi bayangan. Arah ke cahaya tetap sama bahkan jika ada shadowcaster di jalan, sehingga matematika memberi kita nilai kecerahan yang sama.
Jika kita ingin mensimulasikan bayangan, kita harus melakukannya secara terpisah. Salah satu cara yang umum adalah dengan apa yang disebut Peta Shadow. Dalam versi ini, sebelum kita menaungi adegan kita, pertama-tama kita membuat adegan dari perspektif masing-masing cahaya, seolah-olah cahaya itu adalah kamera, menyimpan kedalaman setiap piksel yang dilihatnya ke dalam tekstur di luar layar.
Kemudian, ketika kita menaungi pemandangan, kita dapat membandingkan jarak matematis piksel ini dari sumber cahaya vs kedalaman yang kami rekam pada piksel yang sesuai dalam peta bayangan. Jika kedalaman bayangan peta lebih kecil, maka itu berarti ada permukaan lain antara sini dan cahaya, dan kami menggambar pixel ini sebagai bayangan.
Ada banyak sekali teknik keren untuk membuat bayangan berbasis peta ini terlihat lebih bagus, dengan lebih sedikit artefak / aliasing, tetapi saya akan mengabaikannya untuk saat ini. Cukuplah untuk mengatakan, mereka umumnya juga tidak gratis.
Karena ini memerlukan rendering (hingga) seluruh adegan lagi dari perspektif masing-masing cahaya - hingga enam kali jika itu adalah titik cahaya yang bersinar di semua arah {utara, selatan, timur, barat, atas, bawah}, dan kita perlu kembali -Render peta bayangan kapan saja sesuatu bergerak, ini bisa menjadi sangat mahal.
Jadi game akan sering memfokuskan anggaran rendering mereka pada lampu paling penting di tempat kejadian - seperti cahaya matahari terarah - untuk memastikan mereka memiliki bayangan yang cantik. Lampu kecil, berumur pendek, kecil seperti kilatan ledakan sering dimaafkan jika sedikit bocor melewati oklusi. Seringkali ini lebih cocok untuk pemain daripada hambatan di framerate karena kenaikan mendadak dalam biaya rendering dari semua rendering dan perhitungan peta shadow ekstra. Terutama jika itu adalah adegan aksi yang sibuk di mana fluiditas lebih penting daripada kesempurnaan piksel.