Light cache (Світловий кеш)
Світлове кешування (іноді також зване light mapping) – це техніка наближеного обчислення глобального освітлення у сцені. Цей метод було розроблено Chaos Group спеціально для рендерера V-Ray. Він дуже схожий на фотонну карту (photon map), але позбавлений багатьох його обмежень.
Метод світлового кешу заснований на трасуванні безлічі променів із камери. Кожен із відскоків променя запам'ятовує освітленість від залишку шляху променя у 3d-структурі, це дуже схоже на фотонну карту. Але з іншого боку, у певному сенсі, це прямо протилежно до фотонної карти, яка трасує шляхи від джерела світла і запам'ятовує накопичену енергію від початку шляху у фотонній карті.
Незважаючи на свою простоту, апроксимація light cache має багато переваг перед фотонною карткою:
-
Її легше налаштовувати. Для трасування променів ми маємо лише одну камеру, на противагу фотонній карті, для якої необхідно обробити кожне джерело світла в сцені і, зазвичай, кожне джерело світла потребує окремого налаштування.
Апроксимація light cache ефективно працює з будь-якими джерелами світла, включаючи skylight, об'єкти, що самосвітяться, нефізичні джерела світла, фотометричні джерела світла і т.д. Для порівняння відзначимо, що фотонна карта обмежена в ефектах освітлення, які вона може відтворювати, наприклад, фотонна карта не може відтворити освітлення від skylight, або від стандартного omni без зворотноквадратичного згасання.
Світловий кеш дає коректні результати в кутах та навколо дрібних об'єктів. Фотонна карта залежить від хитрої схеми розрахунку щільності, яка часто дає для таких випадків невірні результати: затемнення або висвітлення цих областей.
Навіть із цими перевагами світловий кеш порівняємо зашвидкості з фотонною картою і може швидко виробляти апроксимацію глобального освітлення в сцені. Крім того, світловий кеш може бути успішно використаний для додавання ефектів GI в анімацію.
Звичайно метод light cache має деякі обмеження:
-
Подібно до карти освітленості (irradiance map), він залежить від виду і генерується для конкретного положення камери.
Подібно до фотонної карти, світловий кеш не адаптивний. Освітленість розраховується для фіксованого розподілу, яке задано користувачем.

Calculation parameters (Параметри для обчислення)
Ці параметри впливають фазу обчислення світлового кеша. Вони не впливають на остаточну візуалізацію.
Subdivs - Підразбиття - визначає як багато трасується шляхів від камери. Дійсна кількість шляхів - квадрат значення цього параметра (значення за замовчуванням 1000 подразбієнія означає, що трасуватиметься 1 000 000 шляхів від камери).
Sample size – Розмір семпла – визначає інтервал між семплами у світловому кеші. Найменші значення означають, що семпли розташовуються ближче один до одного, світловий кеш зберігатиме чіткість деталей у освітленні, але буде більше шуму і буде потрібно більше пам'яті. Великі значення згладжуватимуть світловий кеш, але при цьому губляться деталі. Це значення може бути або у світових одиницях, або в одиницях щодо розміру зображення, залежно від режиму світлового кеша, що задається параметром Scale .
Scale - Масштаб - цей параметр визначає одиниці виміру для параметрів Sample size та Filter size:
Screen - Екранні - одиниці щодо розміру кінцевого зображення (значення 1.0 означає,що семпли будуть такі великі, як ціле зображення). Семпли, які ближче до камери будуть меншими, а які далі – більшими. Зауважимо, що ці одиниці не залежать від роздільної здатності зображення. Це значення найкраще підходить для статичних зображень або анімації, в якій світловий кеш перераховується для кожного кадру.
World – Світові – розміри задаються у світових одиницях. Це впливає на якість семплів: семпли, які ближче до камери будуть розташовані набагато частіше і виглядатимуть згладженими; семпли, які далі від камери, будуть більш зашумлені. Це значення буде працювати краще для анімації з камерою, що рухається, т.к. скрізь дає постійну щільність семплів.
Number of passes - Кількість проходів - світловий кеп прораховується в кілька проходів, які потім поєднуються в остаточний світловий кеш. Кожен прохід обчислюється в окремому потоці незалежно від інших проходів. Це гарантує, що світловий кеш буде однаковим на комп'ютерах, що мають різну кількість процесорів. У загальному випадку світловий кеш, обчислений з меншою кількістю проходів, може бути менш зашумленим, ніж світловий кеш, порахований з великою кількістю проходів, для однакової кількості семплів; однак мала кількість проходів не може бути ефективно розподілена на кілька потоків. Для кращих результатів, для однопроцесорних комп'ютерів без гіпертрейдингу кількість проходів можна встановити 1.
Store direct light - Запам'ятовувати пряме світло - при включеній опції світловий кеш буде також запам'ятовувати та інтерполювати пряме світло. Це може бути корисним для сцен з великою кількістю джерел світла при виборі карти освітленості або прямого обчислення GI для розрахунку первинних відскоків, т.к. пряме освітлення будеобчислюватися із світлового кешу замість семплювання кожного джерела освітлення. Зауважимо, що буде запам'ятоване лише дифузне освітлення, породжене джерелами світла у сцені. Якщо ви хочете використовувати світловий кеш безпосередньо для апроксимації GI і щоб пряме освітлення залишалося чітким, вимкніть цю опцію.
Show calc. phase - Показувати фазу розрахунку - при включенні цієї опції будуть показані трасовані шляхи. Це не впливає на розрахунок світлового кешу і зроблено лише для зворотного зв'язку з користувачем. Ця опція ігнорується при візуалізації з полями - у разі фаза прорахунку ніколи не показується.
Use camera path - Використовувати шлях камери - коли ця опція увімкнена , V-Ray буде обчислювати семпли світлового кеша для всього шляху камери, замість обчислення тільки для поточного виду (також як це робиться для режиму Fly-through). Це корисно при візуалізації анімацій з об'єктами, що рухаються, і камерою, що рухається, коли для світлового кеша потрібен режим Single frame . У цьому випадку включення опції Use camera path допоможе зменшити будь-які мерехтіння, оскільки положення семплів GI на статичній геометрії не змінюватиметься.
Adaptive tracing - Адаптивне трасування - коли ця опція включена, V-Ray запам'ятовуватиме додаткову інформацію про світло, що приходить для кожного семпла світлового кешу і намагатиметься покласти більше семплів у напрямках, звідки приходить більше світла. Це може допомогти зменшити шум у світловому кеші, особливо при використанні каустики.
Use directions only - Використовувати лише напрямки - ця опція доступна тільки при включеній опції Adaptive tracing. Коли опція включена, V-Ray більше використовує тільки оптимізовані напрямки, що згенеровані із семплів світлового кешу, ніж накопичену освітленість.із самих семплів. Це дає точніші результати, але також збільшує зашумленість світлового кешу.
Reconstruction parameters (Параметри перетворення)
Ці параметри керують тим, як світловий кеш використовується в остаточній візуалізації після обчислення.
Pre-filter - Попередня фільтрація - коли ця опція увімкнена, семпли у світловому кеші фільтруються до візуалізації. Зауважимо, що це відрізняється від нормальної фільтрації світлового кешу (див. далі), що відбувається під час візуалізації. Попередня фільтрація виконується шляхом перевірки кожного семпла по черзі і зміни його таким чином, щоб він був середнім між зазначеною кількістю прилеглих семплів. Більша кількість семплів, що беруть участь у попередній фільтрації, даватиме більш розмитий і менш зашумлений світловий кеш. Попередня фільтрація виконується один раз після обчислення світлового кеша або після завантаження диска.
Filter – Фільтр – визначає тип фільтра для світлового кешу на етапі візуалізації. Цей фільтр визначає, як інтерполуються семпли зі світлового кешу для отримання освітленості.
None – Ні – фільтрація не виконується. Як значення освітленості береться семпл, найближчий до точки зафарбовування. Це найшвидший метод, але якщо світловий кеш зашумлений, він може породжувати артефакти біля кутів. Ви можете використовувати попередню фільтрацію (див. вище) для зменшення шуму. Цей метод працює дуже добре, якщо світловий кеш використовується для вторинних відскоків або з метою перевірки.
Nearest - Найближчі - цей фільтр шукає семпли, найближчі до точки зафарбовування, і усереднює їх значення. Цей фільтр не підходить для прямої візуалізації світлового кешу, але корисний якщо ви використовуєте світловийкеш для вторинних відскоків. Властивість цього фільтра така, що він пристосовується до густини семплів світлового кешу і обчислюється майже постійно. Параметр Interpolation samples визначає, як багато найближчих семплів шукається у світловому кеші.
Fixed - Фіксований - цей фільтр шукає і усереднює всі семпли, які знаходяться на певній відстані від точки, що зафарбовується. Цей фільтр дає згладжені результати та підходить для прямої візуалізації світлового кешу (коли використовується для первинних відскоків). Розмір фільтра визначається параметром Filter size. Великі значення розмивають світловий кеш та згладжують шум. Типове значення для Filter size приблизно 2-6 разів більше, ніж Sample size . Зауважимо, що Filter size використовує той самий масштаб, як і Sample size , отже залежить від параметра Scale .
Use light cache for glossy rays - Використовують світловий кеш для глянцевих променів - якщо ця опція включена, світловий кеш буде використовуватися для розрахунку променів глянцю на додаток до звичайних променів GI. Це може збільшити швидкість візуалізації сцени з розмитими відображеннями багато разів.
Mode (Режим)
Mode – Режим – визначає режим прорахунку світлового кешу:
Progressive path tracing – Прогресивне трасування променів – у цьому режимі алгоритм світлового кешу використовується для поступової побудови остаточного зображення. Обговорення цього режиму див. у розділі Навчальні посібники.
Single frame - Одиночний кадр - у цьому режимі новий світловий кеш вважається кожному кадру анімації.
Fly-through – Наскрізний проліт – у цьому режимі світловий кеш вважається для анімації, в якій переміщається лише камера. Для аналізу береться лише рух камери активному ділянці часу. Зауважимо, що при цьому може бути кращевикористовувати значення World параметра Scale. Світловий кеш розраховується тільки для першого кадру, що візуалізується, і потім використовується без змін для всієї послідовності кадрів.
From file - З файлу - у цьому режимі світловий кеш вантажиться із файлу. Світловий кеш зберігається у файл без попереднього фільтрування (див. вище); попередня фільтрація здійснюється після завантаження світлового кеша з файлу, так що ви можете налаштувати її без необхідності перераховувати світловий кеш.
File - вказує ім'я файлу, з якого завантажується світловий кеш (параметр Mode встановлений у From file).
Save to file – Зберегти у файл – кнопка дозволяє зберегти світловий кеш у файл на диску для подальшого повторного використання. Зауважимо, що для того, щоб це працювало, опція Don't delete повинна бути включена , в іншому випадку світловий кеш буде видалено як тільки візуалізація завершиться і його неможливо буде зберегти.
On render end (Після візуалізації)
Ця група керуючих елементів визначає, що відбувається зі світловим кешем після візуалізації.
Don't delete - Не видаляти - коли опція увімкнена (за замовчуванням), світловий кеш залишається в пам'яті після візуалізації. Вимкніть цю опцію для автоматичного видалення світлового кешу (для збереження пам'яті).
Auto save - Автозбереження - коли опція увімкнена, світловий кеш буде автоматично записаний у вказаний файл. Зауважимо, що світловий кещ буде записаний як він обчислений, ще до дійсного закінчення візуалізації.
Switch to saved map - Переключитися на збережену карту - коли опція увімкнена , після закінчення візуалізації параметр світлового кешу Mode буде автоматично встановлений у From file та ім'я файлу автоматично збереженого світловогокеша буде скопійовано у параметр File.
- Не встановлюйте параметр Adaptive amount у сувої DMC sampler 0.0 при використанні світлового кеша, т.к. це призведе до збільшення часу прорахунку.
Не надавайте чисто білі або дуже близькі до білого матеріалу більшості об'єктів у сцені, т.к. це призведе до надмірного збільшення часу прорахунку. Це відбувається тому, що кількість відбитого світла в сцені буде зменшуватися дуже поступово, і алгоритм світлового кешу повинен трасувати довші шляхи. Також уникайте матеріалів, які мають один з компонентів RGB, встановлений максимум ( 255 ) або вище.
Якщо ви хочете використовувати світловий кеш для анімації, ви повинні вибрати досить велике значення для параметра Filter size для придушення мерехтіння GI.
Немає різниці між світловим кешем, розрахованим для первинних відскоків (пряма візуалізація), і для вторинних відскоків. Ви можете спокійно використовувати світловий кеш, розрахований для одного з цих режимів, для іншого.