🌑 Трасування Шляхів

Monte Carlo global illumination · Cornell box · Progressive accumulation

0 spp

Render

Сцена

Scene change resets accumulation

Progress

Samples / pixel0
Кадрів/с
Resolution

Max target: 512 spp

About

Each frame traces one random ray per pixel. Samples accumulate via a ping-pong framebuffer — the more samples, the less noise. Colour from red/green walls “bleeds” onto nearby surfaces.

🌑 Трасування Шляхів — Monte Carlo Light Transport

Фізично точний рендеринг методом Монте-Карло. Кожен піксель випускає багато промінів, що відбиваються випадково, поки не досягнуть джерела світла — усереднення результатів дає безшумне зображення з часом.

🔬 Що демонструє

Рівняння рендерингу (Каджія, 1986) обчислює вихідне світло L на поверхні як інтеграл вхідного світла × BRDF по півсфері. Монте-Карло вирішує це, вибираючи випадкові напрямки відповідно до розподілу BRDF. Кожен зразок незміщений — зображення сходиться до точного глобального освітлення при нескінченній кількості зразків. М'які тіні, перетікання кольору та каустики виникають автоматично з фізики, без спеціального коду.

🎮 Як використовувати

Перетягуй для обертання камери. Зображення поступово уточнюється — кожен кадр додає більше зразків на піксель. Перемикайся між пресетами сцен для перегляду ящика Корнелла, кластерів сфер і відбивних поверхонь. Збільш максимальну кількість відбиттів для захоплення багаторазового непрямого світла. Лічильник зразків показує, скільки промінів на піксель накопичено. Натисни "Скинути накопичення" для перезапуску після зміни сцени.

💡 Чи знав ти?

RenderMan від Pixar використовує трасування шляхів для рендерингу кожного кадру фільму — один виробничий кадр може накопичити 10 000+ зразків і зайняти години на рендер-фермі. Швидкість збіжності Монте-Карло трасування шляхів — 1/√N: подвоєння якості вимагає чотириразового збільшення кількості зразків. Апаратне трасування променів GPU (NVIDIA RTX) з'явилося у 2018 році, вперше уможлививши трасування шляхів у реальному часі в іграх завдяки апаратному прискоренню запитів перетину BVH.