ISSN 2225-7551

В.П. Маслов, канд. техн. наук

П.М. Кузьменко, аспірант

Чернігівський державний інститут економіки і управління, м. Чернігів, Україна

Є.В. Риндич, канд. техн. наук

Чернігівський державний технологічний університет, м. Чернігів, Україна

СУЧАСНІ ТЕНДЕНЦІЇ РОЗВИТКУ ТРИМІРНОГО РЕНДЕРИНГУ

Розглянуто основні алгоритми тримірного рендерингу. Виділено основні тенденції розвитку тримірного рендерингу.

Ключові слова: тримірний рендерінг, прискорення обчислень, адаптивний тримірний рендеринг.

Рассмотрено основные алгоритмы трёхмерного рендеринга. Выделены основные тенденции развития трехмерного рендеринга.

Ключевые слова: трёхмерный рендеринг, ускорение вычислений, адаптивный трехмерный рендеринг.

Consider the basic algorithms of three-dimensional rendering. The basic trends in the development of three-dimensional rendering.

Key words: three dimensional renderіng, accelerated computing, adaptive, three-demensional renderіng.

Постановка проблеми. Тримірний рендеринг, як процес отримання графічної моделі на основі відомої математичної моделі тримірної сцени, потребує значних апаратних і програмних ресурсів. Це пов’язано з необхідністю врахування багатьох оптичних ефектів під час побудови графічного зображення. Тому важливою проблемою є прискорення тримірного рендерингу й отримання графічної моделі максимально достовірної до вихідної математичної моделі тримірної сцени. Прискорення тримірного рендерингу повинно реалізовуватись за рахунок вибору оптимальних параметрів налаштування програмних засобів тримірного рендерингу залежно від кількості джерел світла, якості текстурних карт, положення камери спостереження, складності об’єктів тримірної сцени тощо.

Мета статті. Метою статті є виділення перспективних тенденцій розвитку алгоритмів прискорення тримірного рендерингу і визначення їх ефективності.

Виклад основного матеріалу. Після появи двох основних алгоритмів розрахунку глобального освітлення (тросування променів і алгоритму випромінюваності), з'явилась велика кількість гібридних алгоритмів (багатопрохідні, multipass алгоритми).

Суть багатопрохідних алгоритмів полягає в побудові гібридних методів, які поєднують у собі переваги алгоритму тросування променів і алгоритму випромінюваності.

У багатопрохідних алгоритмах розрахунок освітленості розділяється на незалежні етапи. Наприклад, метод випромінюваності використовується для розрахунку вторинного дифузного освітлення на першому проході, а тросування променів для розрахунку первинного дзеркального освітлення з урахуванням дифузного, розрахованого на першому проході. Це, в свою чергу, усуває головний недолік тросування променів низьку швидкість прорахунку дифузного освітлення.

Найбільш відомими багатопрохідними алгоритмами, які використовують переваги алгоритму тросування променів і випромінюваності, є: алгоритм Сілліона [6], трипрохідний Ширлі [5] та багатопрохідний прогресивний алгоритм Чена [4].

Найбільш відомими багатопрохідними алгоритмами, що суміщають пряме і зворотне тросування променів, є: алгоритм двонаправленого тросування променів [1], алгоритм Metropolis Light Transport [8] та фотонні карти [3].

Двонаправлене тросування променів (Bidirectional ray-tracing)

Алгоритм двонаправленого тросування променів використовує переваги зворотного (зі сторони камери) і прямого (зі сторони джерела світла) тросування променів при фіксованій максимальній глибині тросування. Під час роботи алгоритму випускаються тросуючі промені від джерела світла і від камери, які в подальшому з’єднуються різними шляхами (детермінують). У випадку перетину з’єднуючих променів з іншими об’єктами вклад всього шляху буде рівний нулю, інакше — не нуль [7].

Алгоритм Metropolis Light Transport

Алгоритм неявно користується ідеєю пошуку шляху, який дає найбільший внесок у результуюче зображення.

На першому кроці алгоритм шукає шлях від джерела до камери спостереження, відносно якої робиться тримірний рендеринг, що дає ненульовий вклад.

Рис. 1. Схема алгоритму Metropolis Light Transport

На другому етапі шлях модифікується генетичним алгоритмом, після чого оцінюється в порівнянні зі старим. Новий шлях зазвичай краще, ніж старий, якщо він здійснює більший внесок у зображення. Якщо старий шлях виявляється гірше ніж новий, то далі модифікації піддається новий шлях, інакше – знову старий [8].

Алгоритм фотонних карт

Алгоритм фотонних карт, крім тросування від джерела світла, включає в себе стадії побудови фотонної карти збору освітленості.

На першому етапі тросування від джерела світла випускаються фотони, які зазнають ряд перевідбиттів і заломлень, залишаючи частину своєї енергії на поверхнях об'єктів. Сукупність енергій фотонів на поверхнях об’єктів утворюють фотонну карту.

На наступному етапі енергія збирається у фотонних картах. Збір освітленості найчастіше проводиться по сфері по кожній окремій поверхні об’єкта. У кожній точці збору проглядається околиця цієї точки і підсумовується значення точок фотонів карти, що потрапили в цю околицю, результат нормується, що і буде результуючою освітленістю в точці.

Алгоритм фотонних карт має високу обчислювальну складність, яка виправдовується якістю синтезованих зображень. За допомогою цього алгоритму, зазвичай, проводять розрахунок каустики [7].

Алгоритм кеш випромінення

Метод прискорює обчислення інтеграла освітленості, низькочастотної складової. Низькочастотна частина освітленості характеризується відсутністю різких перепадів, вона добре піддається інтерполяції. Алгоритм поділяє вторинне освітлення на дві компоненти – низькочастотну (дифузну) і високочастотну, виконує інтерполяцію для низькочастотної частини по невеликому числу точок, високочастотна частина (з різкою зміною інтенсивності) розраховується в кожній точці. Точки, між якими відбувається інтерполяція, зберігаються в кеші.

Під час розрахунку низькочастотної компоненти спочатку шукаються найближчі точки в кеші; інакше відбувається розрахунок нової точки, яка розміщується в кеші. Низькочастотна компонента змінюється плавно, тому обчислюється в невеликому числі точок, а в решті – інтерполюється.

Високочастотна компонента зазвичай обумовлена різкими максимумами BRDF, тому вона може бути обчислена семплюванням за допомогою відносно невеликої кількості променів у максимумах BRDF (importance sampling).

Розрізняють кеш випромінювання в тривимірному просторі сцени (world space) і кеш в екранній площині (screen space). Реалізація кешу в екранній площині простіше та ефективніше, тому вторинне освітлення обчислюється цілком для пікселя. Інтерполяція також проводиться в просторі екрану. Однак кеш випромінювання в просторі екрана може бути використаний із зрозумілих причин тільки для первинно видимих поверхонь.

Як правило, кеш випромінювання обчислюється в реальному часі. Кожного разу під час обчислення вторинного дифузного освітлення робиться спроба вибірки з кешу. Якщо значення може бути вибрано так, що помилка менше допустимої величини, воно виходить як результат інтерполяції найближчих точок кеша.

Рис. 2. Зображення, отримане з врахуванням вторинного освітлення,
розрахованого в позначених точках

Якщо помилка більше допустимої величини, значення обчислюється за допомогою тросування променів в усіх напрямках (або фінального збору з фотонної карти) і отримана точка зберігається в кеші [2].

Алгоритм Lightcut

Алгоритм призначений для оптимізації розрахунку сцен з багатьма джерелами світла. Основна ідея полягає в побудові дерева з джерел світла (при цьому всі джерела розглядаються як безліч точкових джерел).

Джерело, що лежить у корені дерева, апроксимує всі джерела, що лежать у дереві глибше. Розрахунок освітлення починається з кореневого джерела, потім розглядаються його дочірні вершини-джерела і т. д. Як тільки внесок від нових дочірніх джерел у результуюче зображення стає малим, алгоритм зупиняється. Алгоритм можна адаптувати і для розрахунку вторинного освітлення, приймаючи відображення поверхні за нові джерела світла [9].

 

Рис. 3. Робота алгоритму Lightcut

Висновки і пропозиції. Існує багато алгоритмів, які дозволяють тими чи іншими методами оптимізувати і прискорити процес тримірного рендерингу. Серед них спеціальні прискорюючі структури, які служать для прискорення пошуку першого перетину променя з об'єктом, пакетне тросування.

Алгоритми рендерингу постійно адаптуються згідно з тенденцією розвитку апаратури, в тому числі і під багатопроцесорні системи та графічні процесори. Але, незважаючи на це, продуктивність обчислювальних систем недостатня, бо такими ж темпами зростає і складність математичних моделей тримірних сцен.

Таким чином, перспективною є методика, що могла б, аналізуючи конкретну математичну модель тримірної сцени і виходячи з її власних характеристик, робити відповідний вибір прискорюючих і налаштування існуючих алгоритмів тримірного рендерингу. Що значно прискорить процес тримірного рендерингу і значною мірою поліпшить якість вихідної графічної моделі.

Список використаних джерел

1. Chattopadhyay S. Bi-directional ray tracing / S. Chattopadhyay, A. Fujimoto // CG International '87 on Computer graphics. – 1987. – P. 335-38.

2. Gautron P. Practical Global Illumination With Irradiance Caching / P. Gautron // Synthesis lectures on computer graphics and animation. – 2009. – 4. № 1. – P. 1-148.

3. Jensen H. A practical guide to global illumination using ray tracing and photon mapping / H. Jensen// ACM SIGGRAPH 1999 Course Notes. – 1999. – P. 72.

4. Shenchang E. A Progressive Multi-Pass Method For Global Illumination / E. Shenchang, H. Rushmeier // Computer Graphics. – 1991. – 25. № 4. – P. 165-174.

5. Shirley P. A Ray Tracing Method for Illumination Calculation in Diffuse-Specular Scenes / P. Shirley // Proceedings on Graphics interface. – 1990. – P. 205-212.

6. Sillion F. A General Two-Pass method Integrating Specular and Diffuse Reflection / F. Sillion, C. Puech // Proceedings of SIGGRAPH89 In Computer Graphics. – 1989. – 23. № 3. – P. 335-344.

7. Szirmay-Kalos L. Photorealistic image synthesis using ray-bundles: PhD dissertation. Doc. of Sc.: 2000 / Szirmay-Kalos L ́szl ́a. – Hungarian Academy of Sciences, 2000. – P. 146.

8. Veach E. Metropolis Light Transport / E. Veach, L. Guibas // Proceedings of. SIGGRAPH97 In Computer Graphics. – 1997. – P. 65-76.

9. Walter B., Fernandez S. Lightcuts: a scalable approach to illumination / B. Walter, S. Fernandez // ACM Trans. Graph. – 2005. – 5. № 3. – P.1098-1107.