Розкриваючи правильну відповідь TomTsagk, я подумав, що це може допомогти описати трохи більше про те, чому такі ігри працюють.
Світло в іграх насправді не «подорожує» від джерела, на поверхню, до камери, заважаючи по дорозі.
Щоб зрозуміти, наскільки яскраво намалювати кожен піксель поверхні на основі даного світла, ми використовуємо (або приблизну) математичну формулу, яка використовує напрям обличчя поверхні та напрямок від цієї точки на поверхні до джерела світла. Це все, саме в тому напрямку, з якого воно світиться - ми зазвичай не кидаємо промінь, щоб перевірити, чи світло дійсно досягає цього пікселя, тому що робимо це для кожного пікселя на екрані і перевіряємо промінь на всю детальну геометрію сцени. як правило, занадто дорогі для ігор в режимі реального часу.
Отже, за замовчуванням жодні ігрові світильники не кидають тіні. Напрямок до світла залишається однаковим, навіть якщо на шляху є тіньовий каскад, тому математика дає нам те саме значення яскравості.
Якщо ми хочемо імітувати тіні, ми повинні робити це окремо. Один розповсюджений спосіб - це те, що називається тіньовою картою. У цій версії, перш ніж затінити нашу сцену, ми спочатку виводимо сцену з точки зору кожного світла, як ніби це світло є камерою, зберігаючи глибину кожного пікселя, який він бачить, на екранній текстурі.
Потім, коли ми затінюємо сцену, ми можемо порівняти математичну відстань цього пікселя від джерела світла та глибину, яку ми записали у відповідному пікселі на тіньовій карті. Якщо глибина тіньової карти менша, то це означає, що тут є інша поверхня між світлом, і ми намалюємо цей піксель у тіні.
Існує велика кількість класних прийомів, щоб зробити ці тіні на основі карти вигіднішими, з меншою кількістю артефактів / псевдонімів, але я зараз замовчу їх. Досить сказати, що вони, як правило, також не безкоштовні.
Тому що для цього потрібне повторне відображення всієї сцени з точки зору кожного світла - до шести разів, якщо це точкове світло, яке світить у всі боки {північ, південь, схід, захід, вгору, вниз}, і нам потрібно повторно -видання тіньової карти в будь-який час, коли щось рухається, це може стати дуже дорогим.
Тому ігри часто зосереджують свій бюджет відтворення на найважливіших вогнях сцени - на зразок спрямованого сонячного світла - для того, щоб вони мали гарні тіні. Маленькі, короткочасні, незначні вогні, як спалах вибуху, часто прощаються, якщо вони трохи просочуються повз окклюдерів. Часто це є більш приємним для гравців, ніж замикання в кадрі через різке збільшення вартості візуалізації з усієї додаткової подачі та розрахунку тіньової карти. Особливо, якщо це насичена сцена дій, де плинність має значення більше ніж досконалість пікселів.