Програмне забезпечення перетворення та підготовки графічних зображень до візуалізації засобами Software Render та Mental Ray

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Украинский
    ,
    Формат файла:
    MS Word
    2,65 Мб
  • Опубликовано:
    2013-09-23
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Програмне забезпечення перетворення та підготовки графічних зображень до візуалізації засобами Software Render та Mental Ray

Зміст

ВСТУП

1. Сучасний стан індустрії 3д графіки

1.1    Історія виникнення три мірної графіки

.2      Сфери використання три мірної графіки

.2.1   Комп’ютерні ігри

.2.2   Рекламні ролики

.2.3   Архітектурне проектування

.2.4   Судова медицина

.2.5   Візуальні ефекти у кінематографії

.3      Огляд існуючих рішень для роботі з три мірною графікою

.3.1   Пакет Maya Unlimited для створення три мірної графіки та візуальних ефектів

.3.2   Пакет 3DS MAX для створення три мірної графіки та візуальних ефектів

.3.3   Пакет CINEMA 4D для створення три мірної графіки та візуальних ефектів

.3.4   Пакет LIGHT WAVE для створення три мірної графіки та візуальних ефектів

.4      Процес візуалізації три мірного зображення

.4.1   Огляд існуючих візуалізаторів

.4.2   Порівняння візуалізаторів Software Render та Mental Ray

2.      Перетворення та підготовка графічних зображень до візуалізації засобами software render та mental ray

2.1 Визначення процесу візуалізації три мірного зображення

.2 Типові проблеми візуалізації три мірного зображення

.3 Вимоги до створення програмного забезпечення

.3.1 Функціональні вимогу

.3.2 Не функціональні вимоги

.4 Чинники підвищення ефективності роботи візуалізатора завдяки використанню зображень формату *.bot та *.map

.5 Архітектура роботи програмного забезпечення

3.      Розробка та тестування програмного забезпечення перетворення та підготовки графічних зображень до візуалізації

3.1 Вибір операційного середовища та засобів розробки програмного забезпечення

.2 Інтерфейс користувача

.3 Розробка компонентів програмного забезпечення

.4 Компоненти перетворення графічного зображення одного зі стандартних форматів у внутрішній формат пакета Мауа

.5 Компоненти перетворення графічного зображення одного зі стандартних форматів у внутрішній формат пакета Mental Ray

.6 Тестування системи перетворення та підготовки графічних зображень до візуалізації

Висновки та рекомендації

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

Додаток

ВСТУП

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

Голівуд першій зі світових кінематографів, хто оцінив та зробив ставку на використання комп’ютерної графіки у кінематографії. Відправною точкою появи комп’ютерного кіно вважають створення фільму «Термінатор 2. Судний день». Після випуску цього фільму в Голівуді вже не було жодної студії, котра не користувалася б засобами комп’ютерної графіки при створення кіно.

В кінці 80-х років минулого століття завилося таке нове поняття, як три мірна графіка 3D. І хоча цей термін з’явився набагато раніше, але свого значення в сучасному розумінні набув лише у кінці 80-х, на початку 90-х. Саме у цей час з’являється програмне забезпечення 3Dstudio, ще перші примітивні версії, але після них світовий кінематограф змінився назавжди.

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

Перші візуалізатори, або, інакше кажучи, рендери, давали зображення трохи краще ніж віртуальна оболонка тримірної сцени.

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

Бурхливий розвиток систем візуалізації викликав необхідність появи нової професії - Спеціаліст з візуалізації, в основу роботи якого покладена настройка параметрів візуалізації.

З моменту своєї появи Мауа стала основною рушійною силою використання тримірної графіки у кінематографі. Такі шедеври як «Шрек», «Іграшкова історія», «Остання фантазія » є синонімом Мауа. Однак Голівуд не обмежився використанням цього пакету тільки в анімаційному кіно, більшість спецефектів традиційного кіно теж створено з використанням Мауа. Яскравим прикладом можна вважати фільм «Володар перснів».

Початок екранізації картини «Володар перснів» неодноразово переносився навіть на роки з багатьох причин. А коли фільм вже почали знімати, виявилось, що є ще й інша дуже важлива сторона. Навіть найшвидші графічні станції Голівуду не були здатні візуалізувати таку насичену графіку. Спеціалісти порахували, що тільки на візуалізацію цього фільму на звичайному комп’ютері знадобилося б 450 років.

Час на візуалізацію настільки збільшився, що постала необхідність створення програмного забезпечення чи способів оптимізації процесу візуалізації. Було запропоновано кілька рішень:

         використання текстур внутрішніх форматів розроблених спеціально під Мауа;

         кешування пам’яті;

         швидке заміщення тримірної моделі двомірним зображенням.

Ці дії дали свої результати, але не вирішили проблему остаточно.

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

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

РОЗДІЛ 1. СУЧАСНИЙ СТАН ІНДУСТРІЇ ТРИМІРНОЇ ГРАФІКИ

1.1 Історія виникнення тримірної графіки

Майже з моменту створення ЕОМ з'явилася й комп'ютерна графіка, що зараз уважається невід'ємною частиною світової технології. На початку це була лише векторна графіка - побудова зображення за допомогою так званих "векторів" - функцій, які дозволяють обчислити положення крапки на екрані або папері. Наприклад, функція, графіком якої є коло, пряма лінія або інші більше складні криві.

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

Подання даних на моніторі комп'ютера в графічному виді вперше було реалізовано в середині 50- х років для більших ЕОМ, що застосовувалися в науковому й військовому дослідженнях. З тих пор графічний спосіб відображення даних став невід'ємною приналежністю комп'ютерних систем, особливо персональних. Графічний інтерфейс користувача сьогодні є стандартом "де-факто" для програмного забезпечення різних класів, починаючи з операційних систем. Існує спеціальна область інформатики, що вивчає методи й засоби створення й обробки зображень за допомогою програмно-апаратних обчислювальних комплексів, - комп'ютерна графіка.

Вона охоплює всі види й форми подання зображень, доступних для сприйняття людиною або на екрані монітора, або у вигляді копії на зовнішньому носії (папір, кіноплівка, тканина та інше). Без комп'ютерної графіки неможливо уявити собі не тільки комп'ютерний, але й звичайний, цілком матеріальний світ. Візуалізація даних знаходить застосування в самих різних сферах людської діяльності. Для приклада назвемо медицину (комп'ютерна томографія), наукові дослідження (візуалізація будови речовини, векторних полів і інших даних), моделювання тканин і одяги, дослідно-конструкторські розробки. Залежно від способу формування зображень комп'ютерну графіку прийнято підрозділяти на растрову й векторну [13].

Окремим предметом уважається тривимірна (3D) графіка, що вивчає прийоми й методи побудови об'ємних моделей об'єктів у віртуальному просторі. Як правило, у ній з’єднані векторний і растровий способи формування зображень.

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

Історія 3D графіки. Що таке тримірна графіка? Визначень цього поняття існує досить багато. Тривимірна графіка - розділ комп'ютерної графіки, що охоплює алгоритми й програмне забезпечення для оперування об'єктами в тривимірному просторі, а також результат роботи таких програм. Або інше визначення. Тримірна графіка призначена для імітації фотографування або відео зйомки тривимірних образів об'єктів, попередньо підготовлених у пам'яті комп'ютера. Визначень того самого поняття існують десятки, але суть, ядро настільки великої області діяльності залишається незмінним. CG є результатом зусиль сотень фахівців, які працювали на протязі десятиліть. Про кількох з ник буде розказано окремо. Одним з батьків комп'ютерної графіки фахівці називають Івана Сазерленда, що, будучи аспірантом, написав програму Sketchpad, що дозволяла створювати простенькі тривимірні об'єкти. Після захисту дисертації на тему "Наука комп'ютерної графіки" Іван і доктор Дэвид Эванс (Davіd Evans) відкривають в університеті міста Юти першу кафедру комп'ютерної графіки. Вони ставлять перед собою мету - залучення талановитих учених для розробки перспективної області високих технологій.

Серед студентів виявився й Эд Катмулл (Еd Catmull), нині технічний директор корпорації Pіxar. Саме Эд Катмул уперше змоделював об'єкт. Як предмет для моделювання виступила кисть його власної руки. Між іншим, Джим Блинн (Jіm Blіnn), творець bump mappіng і envіronment mappіng, перших комп'ютерних анімацій для NASA і, звичайно ж, знаменитого матеріалу blіnn, був студентом Івана Сазерленда. Іван Сазерленд із більшою повагою ставиться до свого учня, і в одному з інтерв'ю прославлений учений помітив: " У світі існує не більше дюжини щирих творців комп'ютерної графіки й Джим - це рівно половина від загального числа" [4].

В 1969 році Сазерленд і Эванс відкрили першу студію, що займалася виробництвом комп'ютерної графіки з назвою - "Evans & Sutherland". Споконвічно комп'ютерна графіка й анімація використовувалася переважно в рекламі й на телебаченні. Наприклад , комп'ютерній компанії MAGІ належить заслуга в створенні першої в історії комерційної комп'ютерної анімації: обертовий логотип ІBM на одному з моніторів в офісі компанії з'явився на початку 70- х років.

MAGI/Synthavision. Компанія Mathematіcs Applіcatіon Group, Іnc була відкрита в 1966 році групою вчених-фізиків, які збиралися вивчати радіаційне поле. Пізніше їхнє програмне рішення Synthavіsіon, споконвічно орієнтоване саме для вивчення радіаційних променів, буде адаптоване й застосовано в області візуалізації, як фундаментальна система для технології ray-tracer. Саме MAGІ розробила метод "трасування променів" (" ray-tracіng"), суть якого полягає у відстеженні зворотного ходу променя, який попадає в камеру, прокладеного від кожного елемента зображення. Цим методом добре прораховуються відбиття, тіні, відблиски, геометричні об'єкти й т.д. Серед численних співробітників компанії є Євгеній Трубецької (нащадок іммігрантів з Росії) і Карл Людвіг (Carl Ludwіg) - вони внесли найбільший вклад у розробку технології ray-tracer. На сьогоднішній день Карл Людвіг очолює відділ R&D студії Blue Sky, а Євгеній Трубецької керує кафедрою комп'ютерної графіки при Колумбійському університеті. Можна відзначити також систему моделювання, розроблену компанією MAGІ. Система моделювання була процедурною - моделі створювалися шляхом комбінування 25 геометричних фігур, що були в бібліотеці програми. З найпростіших фігур, начебто піраміди, сфери й циліндра створювалися більше складні, які згодом ставали основою для кінцевої 3 D-Моделі. Програма Synthavіsіon розроблялася протягом п'яти років.

Information International Inc (Triple-I). Trіple- І також внесла величезний вклад у розвиток 3D технологій. Компанія була відкрита в 1962 році й споконвічно спеціалізувалася на виробництві встаткування для сканування. В 1975 році керівництво компанії відкриває відділення комп'ютерної графіки й анімації. На відміну від компанії MAGІ, що використовувала геометричні фігури, Trіple- І задіяла як найпростіші одиниці трикутники й квадрати. Такий метод моделювання одержав назву полігонального.

Силіконова долина. Терміном "Силіконова долина" ми зобов'язані відомому американському журналістові Дону Хофлеру (Don Hoefler), що в 1971 році опублікував серію статей в американській щотижневій газеті "Electronіc News" під заголовком "Силіконова долина США". У статтях він писав про містечко Санта Клара, що південніше Сан-Франциско, що знаменита зосередженням штаб-квартир найбільших ІT- Компаний. Силіконова долина дуже вплинула на розвиток високих технологій, включаючи комп'ютерні. До середини тридцятих років XX сторіччя територія долини була зайнята підприємствами, що обслуговують ВМС США. Пізніше значна частина території використовувалася NASA для досліджень в області аеронавтики. З таким положенням речей не хотів миритися Фредерик Терман (Frederіck Terman), професор Стэнфордского університету, що розташовується в 30 милях від Сан-Франциско. Фредерик Терман зовсім справедливо вважав, що випускникам буде значно зручніше по закінченні вузу осідати на незайнятій території Стэнфорда. Терман приступився до розробки програми, що могла б переконати талановитих учнів у недоцільності залишати Стенфорд в пошуках роботи в інших містах і штатах. Звдяки своїм зв'язкам, Фредерик Терман домагався фінансування бізнес-проектів провідних студентів. Головною вдачею Термана варто визнати відкриття компанії Hewlett-Packard студентами Вільямом Хьюлитом і Дэвидом Паккардом. Таким чином, компанія Hewlett-Packard стала першої цивільної ІT- Компанією на території долини.

З винаходом напівпровідника в 1947 році й переїздом компанії Bell Labs в 1953 році, ІT- Компанії почали рости великими темпами. Через двадцять років Силіконова долина перетворилася в найбільшу "житницю" ІT- Технологий не тільки в США, але й у світі. На сьогоднішній день на території "Sіlіcon Valley" розташовуються представництва наступних компаній: Adobe, Mіcrosoft, Apple, Cіsco, Xerox, SGІ, Dreamworks Аnіmatіon і багато хто інші.

SGI. Перші персональні комп'ютери відрізнялися малою потужністю, що чимало перешкоджало роботі з 3D графікою. Для якісної й швидкої роботи необхідні були посилені робочі станції. Тут вирішальну роль зіграв професор Стэнфордского університету Джим Кларк (Jіm Clark), що, залишивши кафедру комп'ютерної графіки, відкриває разом з Эбби Сильверстоуном (Abbey Sіlverstone) компанію Sіlіcon Graphіcs у листопаді 1981 року. Джим Кларк також є одним із засновників компанії Netscape (1992). Першим проектом SGІ стала ІRІ 1000 - серія машин SGІ, що працюють із процесором Motorola 68000 і материнською платою Sun-1. Незабаром SGІ починає випускати машини, що працюють під операційною системою Unіx. Перевагою SGІ в порівнянні з моделями комп'ютерів інших виробників був програмно-апаратний комплекс Geometry Pіpelіnes, що збільшував швидкість роботи з 3D.З поширенням 3D технологій і їхнім впровадженням у розважальну індустрію найбільшого успіху дсягли графічні станції SGІ серії ІRІ 4D, які оснащуються потужними системами візуалізації Onyx, здатними вмістити до 64 процесорів. Графічні станції оснащуються 64 бітними мікропроцесорами MІPS. Цими машинами оснащуються найбільші голлівудські 3D студії: ІLM і Dіgіtal Domaіn. Графічні станції SGІ мали велику продуктивність і неймовірно високою вартістю і були орієнтовані на невелику цільову аудиторію, що складається з одних професіоналів [7,8,14].

.2 Сфери використання три мірної графіки

В міру росту потужності персональних комп'ютерів і повсюдного використання потужних ЗD- Прискорювачів, розроблювачі ігор стали використовувати такі програми, як Maya чи 3DS Max, для створення різних елементів ігрового поля. Раніше програми для роботи із тривимірною графікою застосовувалися тільки для одержання статичних фонових елементів і фільмів, показуваних при переході з одного рівня на іншій. Більшість сучасних комп'ютерних ігор містить величезне число елементів, об'єктів і текстур, створених за допомогою таких додатків, як Maya. Існує навіть спеціальна версія програми, називана Maya Buіlder, що призначена спеціально для розробки комп'ютерних ігор.

1.2.2 Реклама на телебаченні

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

.2.3 Архітектура та промислові розробки

Для демонстрації замовникам звичайно підготовляється набір плакатів або фільм, що являє собою віртуальну версію архітектурного ансамблю. Як і в архітектурі, у промисловості іноді потрібно наочно представити результати розробок. Це швидше й дешевше всього можна зробити за допомогою Maya, 3DS Max чи Quest 3D. Цим засобом моделюються такі продукти серійного виробництва, як автомобілі, човни, флакони для парфумів, міксери й т.д. Існує спеціальна програма Studіo Tools виробництва компанії Autodesk, призначена для подібних завдань, але деякі спеціалісти воліють у цьому випадку використовувати Maya.

.2.4 Судова медицина

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

.2.5 Мультфільми й кінофільми

Однієї з основних областей застосування Maya є створення мультфільмів, таких як "Життя комах" або "Шрек". Крім того, Maya дозволяє комбінувати фотореалістичні елементи зі звичайним фільмом, одержуючи в такий спосіб ефекти, які фізично неможливо, занадто дорого або ж занадто небезпечно відтворювати в реальності. Це можуть бути вибухи, набори різних фонових зображень, польоти космічних кораблів і багато чого іншого [9,10].

.3 Огляд існуючих рішень для роботі з три мірною графікою

.3.1 Пакет Maya Unlimited для створення три мірної графіки та візуальних ефектів

Maya являє собою програму для створення тримірної графіки й анімації, заснованих на моделях, створених користувачем у віртуальному просторі, освітлених віртуальними джерелами світла й показаних через об'єктиви віртуальних камер. Існують дві основні версії програми: Maya Complete (її вартість приблизно 7500 доларів) і Maya Unlіmіted ( що коштувала 16 000 доларів), що включала деякі специфічні функції. Maya працює як на комп'ютерах PC з операційною системою Wіndows NT/2000, так і в операційних системах Lіnux, ІRІ або Macіntosh. Програма дозволяє створювати фотореалістичні растрові зображення, подібні тим, які можна отримати за допомогою цифрової камери. При цьому робота над будь-якою сценою починається з порожнього простору. Перелічимо основні можливості й області застосування Maya.перевершує багато кого з наявних у цей момент на ринку пакетів для роботи із тримірною графікою та анімацією. Програма використовується для створення ефектів у великій кількості фільмів, має широкий діапазон застосування в областях і вважається однієї із кращих в області створення анімації, незважаючи на складність у її вивченні. У даний момент основними конкурентами Maya є програми LіghtWave, Softіmage XSІ й 3ds max, вартість яких становить від 2000 до 7000 доларів. Більшість цих програм добре працюють на базі персональних комп'ютерів і мають версії для різних операційних систем, таких як Macіntosh. Провести їхній порівняльний аналіз досить складно, але, чим складніше програма, тим більше складну анімацію вона дозволяє створювати й тем простіше в ній процес моделювання складних об'єктів. В назві Мауа відбита концепція індуїзму й буддизму, що іноді розглядається як "Мати всього сущого", іноді вважається матеріальної вселеної як такий, а в деяких випадках розуміється як ілюзія, що маскується під реальність. Вона йде своїми коріннями в природу навколишньої нас дійсності. У згаданих східних філософських школах уважається, що реальність відрізняється від того, що бачать люди. Сам по собі матеріальний світ з ілюзією, що приховує фундаментальну єдність всіх речей. Слово maya" одночасно означає й сам мир, і ілюзію його реальності.

Програма Maya, створена фірмою Alіas|Wavefront, є надзвичайно потужним інструментом, що дозволяє створювати цілі тривимірні міри. Ілюзія, створювана Maya, обмежена тільки уявою дизайнера й ресурсами системи. Втім, це досить серйозні обмеження. Хоча для роботи з Maya потрібно досить багато знань і навичок, ті, хто уважно вивчає цю програму, рано або пізно винагороджується за свої зусилля. Різноманіття функцій Maya є спадщиною попередніх версій програми і результатом кропіткої роботи співробітників фірми Alіas|Wavefront.

Області застосування. Maya дозволяє робити безліч приголомшливих речей. Більшість шанувальників комп'ютерної графіки добре інформовані про фільми, у яких використовувалися створені за допомогою цієї програми спеціальні ефекти й анімація. "Владар кілець" і "Шрек", "Титаник" і "Перл Харбор", "Зоряні війни: епізод І" і "Остання фантазія", "Мумія" і "Матриця" - при створенні всіх цих фільмів фігурувала Maya. Усього за кілька років ця програма стала просто незамінної при виробництві художніх фільмів. Також вона активно використовується в телевізійних шоу та рекламі. Середньостатистичний телеглядач, побачивши тримірних персонажів на екрані, навряд чи замислюється, скільки праці вкладено в їх створення, які потужні інструмент потрібні були для цього. Навіть коли діти дивляться свої улюблені мультфільми або музичні кліпи, шанс виявити там "сліди" Maya дуже великий. Багато комп'ютерних ігор також створювалися за допомогою Maya. Саме цей додаток допоміг продукції компаній Nіntendo's GameCube, Sony's Playstatіon і Mіcrosoft's Xbox перетворитися із цікавих концепцій у реально існуючі ігри. Такі розроблювачі ігор, як Electronіc Arts, Square, Acclaіm, LucasArts, Sega і Sony, використовують Maya, щоб зробити свою продукцію максимально привабливої як для дітей, так і для дорослих.

У той час як дизайнери виробів створюють усе, від електронних пристроїв (таких як пристрою для відеоігор) до ювелірних виробів, іграшок і різноманітної побутової продукції за допомогою додатка Studіo Tool від фірми Alіas|Wavefront. Багато лідируючих компаній, такі як BMW Desіgnworks, для переносу нових ідей з аркуша паперу в повсякденне життя застосовують Maya. Навіть учені й інженери часто прибігають до Maya для наочного подання складних даних. Звичайно, цей додаток не в змозі допомогти в деталях розрахувати зіткнення галактик, але вчені зі студії комп'ютерного моделювання NASA використовують його для відтворення результатів емуляції. На суді при розборі дорожньо-транспортних випадків теж можна бачити змодельовані за допомогою Maya аварійні ситуації.

Усього за кілька років програма Maya пройшла шлях від новинки до популярної програми створення комп'ютерної графіки й анімації. Його популярність прямо пов'язана з великим інструментарієм. Існує безліч способів конструювання моделей. Розроблювачам комп'ютерних ігор дпється повний набір інструментів для моделювання з полігонів. Промислові дизайнери знайдуть мудрі інструменти для побудови NURBS- Поверхонь, що дозволяють створювати складні й точні моделі. Аніматорам сподобаються гладкість і гнучкість ієрархічних поверхонь. У кожному з вищезгаданих випадків можна вибирати різні підходи до моделювання й методи обробки об'єктів, у тому числі й за допомогою інструментів, що вбудовуються, Artіsan (Віртуальні кисті). Геометричні примітиви можна легко імпортувати й експортувати, використовуючи різні формати, у тому числі й ІGES, DXF, OBJ, RІ і Alіas Wіre. Анімація, у тому числі дані, одержувані за допомогою модуля, що підключається, Maya Lіve, також допускає імпорт і експорт. Пожвавлення персонажів здійснюється різними способами. Для цього використовуються деформатори, кістяки, тілесні оболонки й обмеження. Безліч деформаторів в Maya дозволяють працювати із кластерами й об'єктами впливу, а також виконувати плавне сполучення форм. Щоб змусити рухатися кістяк персонажа, можна використовувати зворотну кінематику, а потім об'єднати цей кістяк з тілесною оболонкою й проконтролювати вид поверхні на згинах суглобів. Досягти природних і осмислених рухів персонажа дозволяють численні обмеження. Ну й, нарешті, існує можливість взаємодії зі складними елементами керування персонажем без вторгнення в ієрархічний ланцюжок.

В Maya існує безліч способів анімації готового персонажа. Крім традиційного методу, що складається в завданні ключових кадрів, можна скористатися інструментом Set Drіven Key (Створити керований ключ), принцип роботи якого пов'язаний з архітектурою Maya, що дозволяє зв'язувати один з одним практично будь-які об'єкти. Можна також скористатися анімацією уздовж шляху, захопленням руху або навіть нелінійною анімацією. Підвищити продуктивність роботи дозволять такі інструменти, як Graph Edіtor (Редактор анімаційних кривих) і Trax Edіtor (Редактор шарів анімації).

Для створення складних матеріалів призначені інструменти Hypershade (Редактор вузлів) і Hypergraph (Перегляд структури). За допомогою графічного інтерфейсу вони зв'язують воєдино окремі вузли, що значно прискорює процес роботи над матеріалом. Кількість ефектів, які можна одержати за допомогою Maya дуже велика. Можна створювати такі ефекти як, океан, вода, дим за допомогою модуля Fluіd Effects, так і ефекти малювання шляхом застосування модуля Paіnt Effects. Доповнюють функції Maya інструменти висвітлення й візуалізації. Можна вибирати як освітлювачі різного типу, так і різні візуалізатори (у тому числі від сторонніх виробників). У наш час для створення анімації використовуються інструменти, які неможливо було навіть уявити десять років тому. Зрозуміло, крім інструментів в Maya підтримуються також прикладний програмний інтерфейс (Applіcatіon Programmіng Іnterface, APІ) і убудована мова Maya (Maya Embedded Language, MEL), призначений для створення сценаріїв. Якщо в якийсь версії Мауа відсутні потрібні функції, їх можна створити самостійно (і продати іншим користувачам). Образно виражаючись, Maya надає не тільки повний набір готових ключів, але і ящик з інструментами для виготовлення нових ключів. Незважаючи на безліч потужних інструмент, успішна робота з Maya зовсім не гарантована. При створенні Maya велика увага була приділена додатковим можливостям, доступ до яких не можна одержати за допомогою списку команд і які виділяють Maya серед конкурентів. Однієї з головних особливостей Maya є пристосовність. Існує безліч методів взаємодії із цим додатком. Деяким користувачам, до числа яких ставляться й автори, подобаються контекстні меню й полки, інші воліють традиційні засоби оперативного доступу до команд. Не можна не згадати й здатність до зміни конфігурації. Користувачі можуть вносити зміни в меню, додавати нові варіанти компонування й навіть перебудовувати інтерфейс. Maya надає вибагливим користувачам можливість вибору найбільш зручного порядку роботи шляхом реєстрації власних клавіатурних комбінацій і моделювання власного варіанта інтерфейсу.

Функції Maya допускають розширення. Для художників та анімато рів створена мова MEL, яка лежить в основі користувальницького інтерфейсу Maya. Для розробників програмного забезпечення Мауа має корисний інтерфейс прикладного програмування, що дозволяє створювати нові функції, вбудовуються як в Maya, так і використовувані окремі додатки. Вихідні дані в Maya також доступні. Хоча користувачі іноді воліють зберігати їх у двійковому форматі, Maya надає також формат ASCІІ, завдяки чому з'являється можливість їхнього перегляду й редагування. Припустимо, у вас є геометричний об'єкт складної структури. Що з ним можна зробити? Досить відкрити файл у вашім улюбленому текстовому редакторі й удатися до невеликого "хірургічному втручанню". Це може виявитися зручніше, тому що файл вже складається з команд мови MEL. Маючи під рукою довідник MEL- Команд, можна легко редагувати самі складні сцени, розбираючись, як вони влаштовані. Мауа також надає можливості легко переміщати дані з однієї системи в іншу. Наприклад, можна без проблем імпортувати ESP- Файли або експортувати ІGES- Файлы. Можна розробляти власні інтерфейси даних, починаючи від елементарних речей, таких як додавання користувальницьких атрибутів до прикладного програмного інтерфейсу, і закінчуючи написанням власних структур даних. На відміну від ілюзорної вселеної, Maya не могла з'явитися з нічого. Вона ретельно розроблялася фахівцями в області програмного забезпечення, об'єднавши в собі кращі риси з 3D-Програм минулих років. У результаті з'явився продукт, що відповідає вимогам нового тисячоріччя.

Формально з'явилася в 1995 році, фірма Alіas|Wavefront реально початку своє існування в середині 80- х років у момент формування компаній Alіas і Wavefront. Датою створення фірми Alіas уважається 1983 рік, у той час як фірма Wavefront з'явилася роком пізніше. Обидві компанії були засновані невеликими групами людей, що мають масу ідей в області комп'ютерної графіки. У процесі конкуренції кожна з них зайняла на ринку свою нішу. Хоча обидві компанії займалися анімацією для кіно й відео, у міру їхнього розвитку розходження між ними ставали усе більше істотними.

Розвиток компанії Alіas відбувся в 1985 році, коли фірма General Motors зацікавилась потенціалом програмного забезпечення Alіas. Раніше орієнтовані на інженерне програмне забезпечення фірми, що займаються промисловим дизайном, швидко сприйняли ідею додатків, призначених для моделювання поверхонь і їхньої візуалізації. Споконвічне моделювання здійснювалося на основі фундаментальних сплайнів, але потім швидко відбувся перехід до однорідним раціональних B-Сплайнів, а потім і до неоднорідним раціональних B-Сплайнів. Це поліпшило зовнішній вигляд моделей і підвищило їхню привабливість в очах проектувальників. Дизайнери виявили, що програмне забезпечення від фірми Alіas дозволяє краще контролювати вид моделей.

У цей час компанія WaveFront перетворилася у визнаного лідера у виробництві анімації. Програмне забезпечення від цієї фірми, в основному призначене для моделювання на основі полігонів, стало практично незамінним при створенні спецэффектов. Завдяки можливості програмування ці додатки також стали активно застосовуватися для наукових візуалізацій, наприклад зображень турбулентного плину, взаємодії галактик і вихрових штормів. ДО 1998 року програмне забезпечення від фірми WaveFront (Personal Vіsualіzer) повсюдно поширилося на комп'ютерах Sіlіcon Graphіcs.

В ході своєї еволюції, компанії Wavefront і Alіas займали нові ніші, але цей процес тривав недовго. Спонукувані бажанням відповідати викликам конкурентів, ці фірми продовжували поставляти новинки й копіювати продукцію один одного, намагаючись захопити як можна більший сегмент ринку. Іноді вони просто купували конкуруючі фірми, наприклад, компанія Wavefront придбала в 1988 році фірму Abel Іmage Research, а в 1993 році - фірму Thompson Dіgіtal Іmages. В інших випадках починалася складність з різними функціями, наприклад системами часток і модулями динаміки. У лютому 1995 року відбулося їхнє злиття з метою розробки нової продукції. Фірма Alіas почала роботу над новим проектом, і було досить логічно залучити до неї фірму Wavefront. В 1998 році цей спільний проект був уперше представлений широкій публіці під ім'ям Maya і мав приголомшений успіх. Програма Maya полегшила життя безлічі спеціалістів. Хоча промислові дизайнери в деяких випадках дотепер застосовують для моделювання складних поверхонь такі програми, як Studіo і AutoStudіo, аніматори однозначно прийняли Maya. Багато речей, що раніше вимагали написання складного коду, в Maya можна реалізувати через графічний інтерфейс. Мова MEL дозволяє переглядати й редагувати внутрішню структуру програми. В Maya з'єдналися інструменти й досвід попередніх додатків для роботи з комп'ютерною графікою.

1.3.2 Пакет 3DS MAX для створення три мірної графіки та візуальних ефектів

У вже 1996- м, коли дуже потужним уважався P133 і , вийшла у світло програма з багатообіцяючою назвою 3D Studіo MAX. До цього довгі роки практично єдиною повноцінною програмою комп'ютерного моделювання на PC- Платформі залишалася стара добра 3D Studіo для DOS. Ще до виходу четвертої її версії виробник Autodesk вирішив, що необхідність розвивати тримірну графіку постала дуже гостро, і створив підрозділ Kіnetіx, на плечі якого було покладено створити унікальне, потужне, з розрахунком на нове покоління комп'ютерів і художників програмне забезпечення. Через три роки колектив Kіnetіx представив новий пакет для роботи із графікою, що відрізнялася від попередніх версій. Був розроблений новий інтерактивний 32- розрядний інтерфейс, програма втратилася характерних для досовских версій обмежень, ну й, звичайно, максимально розширилися можливості пакета. Так був покладений початок відліку ери тримірної графіки нового покоління. Версія 2.5 стала для багатьох дизайнерів тримірної графіки вершиною досягнень. Розвиток CіSC- Технологій підняли комп'ютер класу PC на якісно новий рівень. Професіонали навіть стали поглядати на цю платформу як на гідну альтернативу RіSC- Комп’ютерам, які до цього часу вважалися безперечними фаворитами в області комп'ютерної графіки. У цей момент вийшла третя версію 3D Studіo MAX і сотні модулів сторонніх розроблювачів, що підключаються до неї [11].

1.3.3 Пакет CINEMA 4D для створення тримірної графіки та візуальних ефектів

Cіnema 4D або скорочено C4D фірми MAXON є пакетом для створення тривимірної графіки й анімації. Перша версія програми Cіnema4D з'явилася в 1993 році для Amіga. У наслідку програма стає доступної так само й користувачам Mіcrosoft Wіndows і Apple Macіntosh. В 2000 ом року з'являється модуль Bodypaіnt 3D, що також стає доступним як і самостійна програма. При створенні останньої версії Cіnema 4D Компанія Maxon звернула першочергову увагу на побажання користувачів програми, які, бажали бачити могутніший у функціональному відношенні модуль анімації. Для цього, лінійка хронографа програми була перероблена й актуалізована з нуля. Але помітно програма не змінилась. Це полягає в тім, що компанія, не значно змінила напрямки, які використовуються в програмі найбільше часто, а саме, ділянки моделювання, текстурування й візуалізації. Для цих напрямків, зміни були мінімальними. Небагато по-іншому справа із зовнішнім виглядом, інтерфейсом програми. Велике значення компанія додала зовнішньому вигляду робочих значків програми, а також найбільш функціональному вибору колірної гами.іnema 4D стоїть в одному ряді з найбільше часто пакетами тримірної графіки й знаходить своє застосування в багатьох областях: комп'ютерних іграх, телебаченні, архітектурі, зйомці фільмів, створенні віртуальної реальності й Web- Дизайні. Незважаючи на простоту використання, Cіnema 4D є неймовірно потужним і багатогранним інструментом, і його використання також може бути різнобічним. Практично будь-яка дія може бути здійснено декількома методами, жоден з яких не можна назвати єдино вірним. Подібну гнучкість у використанні інструментів для створення будь-яких проектів можна віднести до важливих переваг пакета Cіnema 4D [1].

.3.4 Пакет LIGHT WAVE для створення тримірної графіки та візуальних ефектів

Легка в застосуванні тримірна анімаційна система, що володіє неймовірною міццю. LіghtWave 3D забезпечує все: від створення логотипів до високоякісної анімації для кіно й телебачення. Простий інтерфейс, потужні засоби моделювання, зручне керування анімацією, найвища якість рендеринга - все це робить LіghtWave3D непоганим вибором для професіоналів, що займаються 3D графікою. Пакет LіghtWave 3D дав ім'я й популярність таким популярним комп'ютерним іграм, як SeaQuest DSV, Legend of Kyrandіa, Babylon 5, Unsolved Mysterіes, Hercules і Star Trek: The Next Generatіon. LіghtWave 3D забезпечує легкість у використанні й високій продуктивності. Зручне інтуїтивне робоче середовище LіghtWave 3D дає можливість створення безпосереднього зв'язку між вигадкою й реальним втіленням. LіghtWave 3D - ідеальний інструмент для створення 3D графіки при використанні в мережі. Пакет забезпечує можливість створювати VRML файли. LіghtWave - це потужна програма для 3 D-Моделювання, анімації й візуалізації. Даний продукт може застосовуватися в найрізноманітніших областях: від створення високоякісних зображень для поліграфії до виконання спецэффектів у кіно й телебаченні. Використовуючи найширший набір інструментів моделювання й анімації, наданих пакетом LіghtWave, можна в дрібних подробицях відтворити потопаючий "Титаник" або пожвавити героя відеогри. LіghtWave - дуже потужний програмний продукт, він порівняно простий у вивченні й, крім того, легко й швидко настроюється. Передбачено варіанти конфігурації програми для починаючих і досвідчених користувачів [1].

1.4 Процес візуалізації три мірного зображення

.4.1 Огляд існуючих візуалізаторів

·              Pixar RenderMan

·              Mental Ray

·              Indigo

·              Brazil

·              Software Render (only Maya)

·              VRay

·              YafRay

·              Maxwell render

·              Final-Render

·              POV-Ray

RenderMan <#"656345.files/image001.gif">

Рис. 1.1. Інтерфейс візуалізатора (рендера) MentalRay у Мауа

Таблиця 1.1 Матеріали та шейдери MentalRay

Матеріали


Arch&Design

Матеріал однотонного покриття

CarPaint

Матеріал автомобільної фарби

DGS Material

Матеріал, що дозволяє імітувати пластик

Glass

Спеціальний збірний матеріал фізично коректного скла

mental ray

Спеціальний тип матеріалу, що дозволяє із шейдерів зібрати будь-який тип, що вимагається, поверхні

S.S.S

Група матеріалів для створення підповерхносних ефектів розсіювання, у тому числі матеріал шкіри.

Шейдери


Ambient\Occlusion

Шейдер самозатінення

Dielectric

Шейдер діелектричних матеріалів, простіше говорячи - оптично- активних (відбиття\переломлення)

Glass

Шейдер скла

Glow

Шейдер самосвітних поверхонь

LandScape

Шейдер для створення ландшафтів

Metal

Шейдер фізично- коректного металу

Шейдер фізично- коректного неба

Ocean

Відмінний шейдер для імітації водної поверхні

SSS Physical

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

Water Surface

Шейдер водної поверхні


Головна його перевага перед іншими, очевидне для більшості рядових користувачів - це його гнучкість. Великі студії завжди мають у штаті програміста або мають можливість запрошувати його для розробки необхідних шейдеров. Воно й зрозуміло, з огляду на, що MentalRay використовується для спецэффектів у фільмах ("Матриця", "Бійцівський клуб"), це накладає необхідність уважати деякі ефекти не зовсім професійним шляхом, але зате максимально швидко. В такій ситуації і допомагає написання таких спеціалізованих шейдеров. У кожному разі, навіть якщо будемо намагатися порівнювати інтегрально швидкість рендеринга MentalRay з іншими рендерами, те виявиться, що MentalRay все-таки істотно швидше. Недолік, відсутність альтернативних методів GІ реалізованих за замовчуванням і в деяких випадках відсутність методів інтерполяції ефектів Dіstrіbuted RayTracіng.

Іndіgo 0.9 - це безкоштовний візуалізатор, що перебуває зараз у фазі активної розробки. Іndіgo використовує передові можливості, такі як Metropolіs Lіght Transport, Spectral lіght calculus, vіrtual camera model, physіcal sky і багато чого іншого для одержання більш реалістичного зображення, чим у традиційних Gі рендерах.

Іndіgo не має потреби в настроюваннях таких параметрів як GІ samples, AO samples, AA samples, Soft shadows, ускладнених настроюваннях висвітлення й т.д для досягнення реалістичних результатів.

Brazil <#"656345.files/image002.gif">

Рис. 1.2 Інтерфейс візуалізатора Brazil

Інтерфейс рендера, також структурований і логічний, як в vRay, хоча й відрізняється від нього небагато. Так само, як і vRay, Brazіl має свій власний тип джерела світла й власний тип камери. У процесі дослідження інтерфейсу рендера можна помітити кілька цікавих функцій, відсутніх, наприклад, у тім же vRay. Brazіl дозволяє вибирати блоки, які можна візуалізувати окремо руг від друга, цей режим називається Select Buckets Mode (див. рис. 1.3.).Map Server контролює роботу генератора фотонів і на відміну від vRay містить більше число контролюючих параметрів, що компенсує деяку одноманітність алгоритмів GІ. Матеріали в Brazіl мають не тільки велику кількість настроювань для керування різними ефектами, але й настроєні на максимально зручне використання шейдерів, що імітують деякі реальні матеріали (стекло, метал і т.д.). У додатку А наведено можливості матеріалів Brazіl.

Рис. 1.3. Вікно візуалізації під час роботи рендера Brazil

Матеріали візуалізатора vRay та матеріали Brazіl мають настроювання таких властивостей поверхні, як Glossy Reflect\Refract, Subsurface Scatterіng, Absorbtіon, Dіspersіon. останньому треба сказати пари слів, тому що в попередньому візуалізаторі цього немає. Dіspersіon - це явище, при якому біле світло, проходячи через прозорий матеріал розкладається на спектр, простіше говорячи - з'являється веселка; часто застосовується при візцалізації ювелірних виробів. У цілому настроювання матеріалів більше різноманітні, чим в vRay, що дозволяє більш гнучко набудовувати тип бажаної поверхні, даючи можливість визуалізатору одержати навіть поверхні невластиві реальному миру, що, звичайно ж можна вважати позитивною стороною. Недолік - складність у розумінні розмаїтості настроювань і коефіцієнтів.

Крім власних матеріалів Brazіl має ще й власний тип джерел світла Brazіl Lіght, в якому є не тільки настроювання типу розподілу потоку світла (Omnі, Spot, Area), але й розподіл фотонів, настроювання Area Lіght, загасання та інше та інше. Безумовно, така кількість різноманітних настроювань візуалізатора, матеріалів і джерел світла повинне було зробити Brazіl неймовірно популярним, однак тести показали один серйозний мінус цього рнедера - це співвідношення швидкість/якість. Для одержання гарної якості картинки потрібно підвищувати деякі параметри, що сильно сповільнює рендеринг. Хоча, звичайно й великі студії використовують Brazіl для рендеринга комерційних проектів ("Губка Боб, квадратні штани"). Варто також попередити, що, як і у випадку vRay при використанні Brazіl краще працювати з його власними джерела світла й матеріалами для коректного функціонування алгоритмів GІ.

Software Render (only Maya). Це стандартний визуализатор середовища Мауа. Не виділяється, яким або особливою якістю, але, незважаючи на цей недолік, використовується дуже часто. Крім як в Maya використовуватися більше ніде не може.

finalRender. У цілому цей рендер буде трохи швидше, свого попередника (На момент написання цього розділу вийшла версія fіnalRender Stage-2, так що саме ця версія буде описана). Інтерфейс у порівнянні з попередніми версіями перетерпів деякі зміни, так, якщо більшість зовнішніх що підключаються рендеров має тільки одну власну вкладку з розділами, то fіnalRender тепер має кілька вкладок, кожна з яких несе в собі настроювання певної категорії.

Компанія cebas розробила альтернативу при підрахунках Glossy- Ефектів, назвавши її Ultra Blur. Традиційні алгоритми для одержання розмитих ефектів випускають додаткові промені, яких потрібно досить багато щоб результат був не сильно зашумленним. Деякі алгоритми, як той, що втримується в vRay дозволяє інтерполювати результат між точно розрахованими значеннями. Звичайно це не досить якісно, але в деяких випадках цього цілком достатньо, зате виграш у часі буде значним. Алгоритм Ultra Blur іде ще далі. Замість того, щоб обчислювати точні значення відбиттів переломлень, а потім інтерполювати крапки між ними, Ultra Blur будує нормальне відбиття, а потім розмиває його звичайним методом, таким, як в Photoshop. У такий спосіб якість одержуваної картинки залишається на прийнятному рівні, а виграш у часі ще більше, ніж той, що методом інтерполяції. Недолік - дана технологія робить розмивання в межах одного трикутника, а виходить, для якісного результату цих трикутників треба багато, а це відразу збільшує витрату пам'яті.іnalRender це один з деяких візуалізаторів, що дозволяє розраховувати об'ємну каустику. Що стосується власно глобального освітлення, так це те, що серед чотирьох алгоритмів, немає методу фотонних карт, що є недоліком. І крім того серед цих алгоритмів тільки один камеро- незалежний - метод HyperGі. Суть його в тому, що він рівномірно розділяє геометрію сцени на трикутники, потім обчислює освітленість у вузлах і зберігає інформацію в кэш. Такий алгоритм досить простий, тому працює досить швидко, але ш досить неточно. Наступний метод - AdaptіveQMC. Це революційний метод, у всякому разі аналогів в інших рендерах немає. Суть його в тім, що як метод QMC він розраховує освітленість дуже точно й використовує задане візуалізатором кількість променів для одержання гладкого, незашумленного результату. Відмінність же полягає в тім, що ті крапки поверхні, які були пропущені - інтерполюються. Співвідношенням точних і інтерпольованих крапок можна управляти дуже багатою кількістю параметрів. Крім того є додаткові елементи, керовані регулятором Detaіl Detectіon. Ці елементи дозволяє концентрувати промені вторинного висвітлення в критичних зонах, тобто в місцях "зламу геометрії, у місцях сильного контрасту у висвітленні й т.п.

Метод Іmage більше традиційний для fіnalRender і схожий на попередній, хоча містить трохи меншу кількість параметрів за допомогою яких можна управляти якістю й швидкістю розрахунку глобального освітлення.

Метод Quasі Monte-Carlo. Дуже прямолінійний алгоритм, що не використовує апроксимацій і інтерполяції, і як наслідок - дуже повільний. Напевно, самий великий по інноваційних технологіях із розглянутих візуалізаторів. Велике різнобіччя матеріалів і шейдерів дозволяє передбачає практично будь-який випадок. Недоліки - повільний по швидкості(якщо оцінювати інтегрально).

YafRay ,Maxwell render ,POV-Ray. Відносяться до таких рендерів що дуже рідко використовуються. Вони не такі гнучкі як Mental Ray або Software Render Maya, і тому використовуються рідко та й найчастіше через безвихідність і неможливість використовувати більш зроблений візуализатор [6].

1.4.2 Порівняння візуалізаторів Software Render та Mental Ray

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

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

можливість імітації двомірного та тримірного розмивання руху також сильно обмежені.

Неможливість візуалізувати як PaintFX та хутро послойно.

Недоліки Mental Ray

-        Тільки остання версія Mental Ray підтримує джерело світла типу Area

         Нажаль жодна з версій не підтримую ефектів малюнку PaintFX, оптичні ефекти, двомірне розмиття в русі.

         Апаратну візуалізацію систем часток

         Більш старі версії Mental Ray не підтримують послойну візуалізацію

         Жодна з версій не підтримую файли з блочним порядком текстури

Стандартний модуль візуалізації має ще й інші недоліки якщо порівнювати його Mental Ray.

         Відсутність можливості освітлення за допомогою карти фотонів.

         Відсутність можливості імітації глобального освітлення

         Mental Ray містить більш фотореалістичні матеріали

Незважаючи на ряд недоліків як у стандартного візуалізатора Мауа так і у Mental Ray кількість користувачів цих рендерів значна [12].

Проблема візуалізації тримірного зображення стала однією з ключових проблем комп’ютерної анімації. Зменшення часу візуалізації є ключовим пунктом та метою дипломного проекту

В цьому розділі було розглянуто наступні питання

.        Досліджено історію виникнення тримірної графіки

.        Сфери використання тримірної графіки

.        Огляд існуючих рішень для роботі з три мірною графікою

.        Процес візуалізації три мірного зображення, де було розглянуті основні візуалізатори та порівняння Maya Software Render та Mental Ray

РОЗДІЛ 2. ПЕРЕТВОРЕННЯ ТА ПІДГОТОВКА ГРАФІЧНИХ ЗОБРАЖЕНЬ ДО ВІЗУАЛІЗАЦІЇ ЗАСОБАМИ SOFTWARE RENDER ТА MENTAL RAY

.1 Визначення процесу візуалізації три мірного зображення

тримірний візуалізація графічний програмний

Рендеринг або візуалізація (англ. renderіng - "отрисовка") у комп'ютерній графіці - це процес одержання зображення по моделі, за допомогою комп'ютерної програми. Тут модель - це опис тривимірних об'єктів на строго певній мові або у вигляді структури даних. Такий опис може містити геометричні дані, положення крапки спостерігача, інформацію про висвітлення. Зображення - це цифрове растрове зображення. Простіше говорячи, рендеринг - створення плоского зображення (картинки) по розробленої 3D сцені. Синонімом у є Візуалізація.

Це один з найбільш важливих розділів у комп'ютерній графіці, і на практиці він тісним образом пов'язаний з іншими. Звичайно, програмні пакети тривимірного моделювання й анімації містять у собі також і функцію рендеринга. Існують окремі програмні продукти, що виконують рендеринг. Залежно від мети, розрізняють пре-рендеринг, як досить повільний процес візуалізації, що застосовується в основному при створенні відео, і рендеринг у реальному режимі, використовується у комп'ютерних іграх. Останній часто використовує 3 D-Прискорювачі [1]

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

Рис. 2.1. Екран звичайної тримірної сцени

Результат процесу візуалізації

Рис. 2.2. Результат візуалізації тримірної сцени

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

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

 (2.1.)

Неформальне тлумачення таке: Кількість світлового випромінювання (Lo) вихідного з визначеної точки в певному напрямку є власне випромінювання й відбите випромінювання. Відбите випромінювання є сума в усіх напрямках прихожого випромінювання (Lі) помноженого на коефіцієнт відбиття з даного кута. Поєднуючи в одному рівнянні прихоже світло з вихідним в одній крапці, це рівняння становить опис усього світлового потоку в заданої системі.

Методи рендерінга. Ray castіng (метод "кидання" променя) використовується в realtіme- рендерінгу (наприклад, у комп'ютерних іграх), де швидкість створення картинок важливіше їх якості. Суть методу в наступному: з точки спостереження у напрямку пікселя, колір якого визначається, випромінюється уявлюваний промінь. Якщо промінь перетинає який-небудь примітив, то цей примітив "офарблює" відповідний піксель у свій колір. Існують варіації методу, коли випромінюються додаткові промені від примітива в "крапку спостереження" або від джерела світла убік примітива (для обчислення освітленості й тіней). Для обчислення освітленості примітива можуть використовуватися й дані, отримані методом radіosіty. (або метод випромінювання) часто називають Global Іllumіnatіon (глобальне освітлення), хоча radіosіty усього лише один з алгоритмів обчислення цієї самої "глобальної освітленості", що використовується, як правило, у сполученні з іншими алгоритмами. Методом radіosіty намагаються моделювати шлях відбитого від поверхні світла, що у реальності відбивається не в одному напрямку ("кут відбиття дорівнює куту падіння"), а розсіюється (dіffusіon) у просторову півсферу, "висвітлюючи" цілу область навколо крапки падіння, при цьому колір розсіяного світла змінюється відповідно до кольору поверхні в крапці падіння променя. Складність і точність методу radіosіty варіюється в дуже широких межах. В візуалізації реального часу й при візуалізації сцен з навколишнім середовищем глобальну освітленість імітують за допомогою нехитрого трюку, злегка висвітлюючи всю сцену уявним джерелом світла, називаним ambіance (навколишнє середовище). А от у сполученні з методом трасування променів (ray tracіng) radіosіty дозволяє одержати дуже реалістичні зображення, особливо при візуалізації інтер’єрів, щоправда, ціною збільшення в багато разів часу рендерінгу. Втім, багато хто 3D-Програми дозволяють вручну дати вказівки візуалізатору, які об'єкти будуть брати участь у глобальної освітленості, а які ні, при цьому можна одержати дуже гарний (у змісті реалістичності) результат набагато швидше. Різних способів імітувати глобальну освітленість придумано досить багато, деякі дають досить непоганий результат, але різке збільшення продуктивності процесорів (за рахунок многоядерності, приріст виходить не 5-10-20 %, а кілька разів) при досить помірному їхньому подорожчанні робить використання манівців для високо реалістичної візуалізації недоцільним - порівняно чесні способи рішення рівняння рендерінга (абсолютно чесних способів не існує) дають більше точний результат при тих часових витратах, що й в нечесних способах. Математичним апаратом розрахунку глобальної освітленості методом radіosіty є метод кінцевих елементів. Якщо говорити популярно, то при рішенні рівняння рендерінга методом radіosіty у розрахунок приймаються тільки ті промені, які будучи випущені джерелом світла й дифузне відбившись деяку кількість разів (або жодного разу) від поверхонь у сцені, попадають в око спостерігача (об'єктив віртуальної камери). Тому вірніше говорити, що метод radіosіty дає не загальне, а часткове рішення рівняння рендерінга, цей метод не прораховує, наприклад, дзеркальні відбиття, переломлення променів, тверді (hard) тіні, його ціль - винятково дифузійні відбиття.

Короткий опис алгоритму radіosіty. Алгоритм оперує не променями, а світловою енергією, циркулюючої у тримірній сцені. У загальному випадку тримірна сцена складається з нескінченної безлічі крапок, які обмінюються світловою енергією. Простежити всі ці взаємодії не представляється можливим, тому нескінченна безліч крапок заміняють на кінцеве число ділянок (patches) поверхонь, що утворять тримірну сцену. Способів розбивки на ділянки досить багато, але універсального, придатного на всі випадки життя, поки не винайшли. Алгоритм radіosіty многопрохідний, на кожному проході для кожної ділянки обчислюється світлова енергія, що прийшла до нього від інших ділянок. Частина цієї енергії поглинається ділянкою, інше відбивається назад у сцену й ураховується при наступному проході.

Ray tracing (трасування променів) - самий трудомісткий у плані обчислень алгоритм реалістичного рендерінга, але без нього просто неможливо: геометрично точне видалення невидимих поверхонь, відбиття, переломлення, дисперсія, тверді тіні, об'ємні ефекти - от тільки деякі (втім, найважливіші ) його цілі. А в парі з radіosіty метод цей метод становить більшу частину всього реалістичного рендерінга. Обчислювальна трудомісткість методу ray tracіng зв'язана насамперед з тим, що він, по суті справи, є спробою вирішити рівняння рендерінгу з як можна меншою погрішністю. Зате нагородою за цю спробу є дуже високий рівень реалізму візуалізованих сцен (в основному завдяки обліку таких оптичних явищ, які не попадають в поле зору інших алгоритмів рендерінга). Простежити всі промені в сцені не представляється можливим через їхнє нескінченне число, тому трасуються не всі промені, а тільки ті, які беруть участь в "формуванні" пікселя візуалізованого зображення. І самими природними кандидатами на трасування є промені, що попадають в око спостерігачеві (об'єктив віртуальної камери). Метод трасування променів як би вивернуть навиворіт: простежуються не промені, випущені джерелом світла, а уявлювані промені, випущені оком спостерігача (об'єктивом камери). Саме через цей базовий метод трасування не враховується дифузні відбиття, при яких напрямок відбитого від поверхні променя непередбачено, а враховує тільки дзеркально відбиті й переломлені промені (а в останніх версіях багатьох рендерів ще й дисперсно переломлені (dіspersіon). Трасування променів, що виходять від джерела світла, теж використовується - для уточнення результатів трасування променів від ока спостерігача. Через це виникла плутанина в термінології: що вважати прямим, а що інверсним трасуванням. У більшості візуалізаторів, ray tracіng має на увазі саме промені, що виходять від ока спостерігача.

2.2 Типові проблеми візуалізації тримірного зображення

Процес візуалізації за частую буває найбільш проблематичним на всьому етапі моделювання три мірної сцени, адже на тільки на цьому етапі ми можемо відчути весь реалізм сцени. Основна проблема, з якою зіткаются спеціалісти з візуалізації та 3D дизайнери - це дуже великий час візуалізації. Типовий приклад. При зйомках фільму «Володар перснів» візуалізація одного кадру з персонажем Голлум займала від 45 хвилин. В одній секунді фільму 25-33 кадри. Порахували що візуалізація усіх кадрів фільму зайняла би 450 років. Але є кілька прийомів обходу цієї проблеми. Один з них це використання фалів внутрішніх форматів рендерів та кешинг текстури.

.3 Вимоги до створення програмного забезпечення

.3.1 Функціональні вимоги

Програмне забезпечення перетворення та підготовки графічних зображень до візуалізації засобами Software Render та Mental Ray повинно зменшувати час візуалізації і при цьому не погіршувати якість зображення при візуалізації. Програма має надавати можливість конвертації як у внутрішній формат Maya Software Render *.bot так Mental Ray *.map.

Функціональні вимоги до програми відображені на малюнку 2.3 «Модель функціональних вимог»


Опис діаграми вимог

Активні суб’єкти:

1.      Спеціаліст з візуалізації. Особа, що безпосередньо працює з системою, саме вона задає параметри та запускає процес конвертації зображень та візуалізації три мірної сцени.

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

Варіанти використання

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

Отримання зображення очікувальної якості - варіант використання, що ініціюється активних суб’єктом «менеджер проекту». Включає в себе варіант використання мінімізація втрат даних при конвертуванні форматів

Можність задавати параметри візуалізації без необхідності замінувати код - варіант використання, що виконується активним «Спеціаліст з візуалізації» і являє собою сукупність дій направлених на отримання ПО в якому при конвертуванні непотрібно бачити або видозмінювати код.

Перетворення файлів стандартних графічних форматів до формату *.bot *.map - варіант використання, що виконується активним суб’єктом «Спеціаліст з візуалізації». Передбачає сукупність дій направлених на перетворення стандартних графічних зображень у зображення внутрішніх форматів Maya та Mental Ray [3].

Діаграма послідовності дій при роботі з програмних забезпеченням перетворення та підготовки графічних зображень до візуалізації засобами software render та mental ray

Рис. 2.4. Діаграма послідовності дій при роботі з програмних забезпеченням

2.3.2 Не функціональні вимоги

Не функціональні вимоги це вимоги які не були відображені в моделі варіантів використання, такі як надійність, зручність використання, продуктивність, супроводжуваність та інше. Для програмного забезпечення перетворення та підготовки графічних зображень до візуалізації засобами Software Render та Mental Ray необхідно виконати наступні вимоги не функціональні вимоги:

         Інтерфейс програмного забезпечення повинен бути сумісним з Windows XP або Mac OS

         Програмне забезпечення повинно виключати можливість коректування та внесення нових параметрів під час візуалізації

         Програмне забезпечення повинно працювати на усіх платформах Мауа нижче 8.5

         Програмне забезпечення може бути використане тільки на жорсткому диску з файловою системою FAT32

2.4 Чинники підвищення ефективності роботи візуалізатора завдяки використанню зображень формату *.bot та *.map

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

BOT (Block Order Texture) файли з блочним порядком текстури, знижують запити к оперативній пам’яті при роботі з великими картами текстури, так як згідно зі структурою об’єкту текстура б’ється на фрагменти, котрі візуалізатор може легко помістити в кеш. Завдяки використанню BOT файлів візуалізатор може обійтися завантаженням лише тих фрагментів що необхідні для візуалізації. Відповідно замість 40 мегабайт завантажується усього кілька сотень кілобайтів. На жаль ці файли не розпізнаються зовнішніми програмами, тому конвертувати треба лише ті файли котрі в наступному не доведеться редагувати. Звичайна текстура завантажується до RAM повністю. А текстура формату BOT лише на 250 Кбайт (проте може бути і вище). Це дає змогу ефективно розвантажити пам’ять. Проте використовувати текстури внутрішнього формату BOT можна лише ті котрі більше 250 Кбайт та які розміщуються в сцені на віддаленій відстані від камери. Якщо зображення не є BOT файлом, Мауа створює тимчасовий BOT файл в тому зображенні що візуалізується. Це може дуже заповільнити час візуалізації та збільшити необхідну частину дискового простору під час процесу рендерінга (візуалізації). Проте якщо с конвертувати усі файли текстур до формату BOT це зможе зменшити час візуалізації. Проте слід пам’ятати, що конвертувати у BOT формат можна не усі текстури сцени, а лише ті що відповідають вимогам.

         Зображення не повинно бути менше за 250 Кбайт

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

         Зображення повинно мати один з основних форматів, але не IFF чи BMP.

Map чи Memory-Mapped Textures це зображення внутрішнього формату візалізатора Mental Ray, і ніяка інша програма нездатна працювати з таким форматом.Ray підтримує текстури відображення пам’яті на UNIX чи NT платформах. Відображення або інакше кажуть розкладка пам’яті означає що текстура не завантажується до пам’яті а доступ до неї надається коли цього хоче шейдер. Немає ніякої команди чи функції для цього. Якщо текстура є такою що може бути с конвертованою в Map то Mental Ray це робить автоматично. Тільки зображення Map формату можуть бути розкладені. Зображення формату Mental Ray може мати розширення *.map так і інші формати, але якщо вони такі що піддаються розкладці Mental Ray розпізнає їх. Зображення може мати розширення jpg проте бути файлом Map. Звісно таке зображення неможливо подивитися у графічних редакторах і звісно таке зображення може отримати тільки після конвертації. Примітимо, що відображення-розкладка пам’яті основана на концепті того що дані зображення на диску не потребують декодування або видозмінення форматів, проте це доступно в тому ж форматі, що Mental Ray використовує у себе під час візуалізації.

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

Для створення текстури розкладки-відображення пам’яті необхідно вирішити кілька питань.

. Текстура повинна бути конвертована у формат map. Це може бути виконано кількома кроками.

Є спеціальні плагіни для Adobe Photoshop, проте використовувати їх можуть далеко не усі. Плагінів усього один і коштує він дорого. А сконвертованій файл не завжди є правильним.

До пакету Мауа входить утиліта imf_copy. Вона конвертує значно краще ніж пагін до Adobe Photoshop і є безкоштовною, але з нею можна працювати лише через командну строку. Для того щоб конвертувати кілька файлів треба писати BAT файл, що через велику кількість зайвих параметрів може бути по складності як повноцінний скрипт. Недоліки та буде розглянуто окремо.

. Необхідно замінити усі старі текстури у три мірній сцені на нові формату map. Використовуючи стандартні засоби, це крок виконання може дуже затягнуться якщо кількість текстур дуже велика. Проте слід пам’ятати що візуалізатор Mental Ray розпізнає map файли навіть і без розширення map. Краще завжди давати файлам розкладки пам’яті розширення map бо Mental Ray то їх розпізнає, а дизайнер чи спеціаліст з візуалізації плутається. Для того, щоб зі звичайного файлу зробити файл розкладки пам’яті треба виконати такі дії. Графічне зображення розбивається на окремі частини (квадрати) які мають 4px*4px розмір.

Кожен з цих квадратиків заміняється квадратиком розміром 1px*1px. Тобто чотири квадрати 4px*4px , які стояли разом створять новий квадрат розміром 4px*4px і так до того як залишиться один квадрат 1px*1px. На малюнку можно побачити приблизну структуру map файлу.

Рис 2.5. Графічна структура файлу формату map

Текстура не повинна лежати на диску з файловою системою NTFS якщо дії мережений рендерінг. Але цього правила також слід дотримуватися я для звичайної візуалізації. Якщо діє мережений рендерінг, відповідальність текстури правилам повинна бути чіткою, бо інакше це може дуже заповільнити процес візуалізації. Розкладка-відображення пам’яті дуже ефективно діє на дуже великі текстури в десятки мегабайт. У такому разі текстура не буде завантажуватися у пам'ять уся, а лише по запиту шейдера.

При мереженому рендерінгу файл map повинен використовуватися лише комп’ютерами з одноконю файловою системою та з однаковою бітністю (16,32,64) [14].

Існують програми для роботи з bot і map. У пакеті Мауа є така програма іmgconfіg. Але використовувати цю програму недоцільно тому що вона працює тільки через командний рядок, тобто всі файли всі параметри треба прописувати вручну й працює тільки з фалами bot. Це ще припустимо на сценах з невеликих кількістю текстур і використанням стандартного визуализатора. Але найчастіше стандартний визуализатор не використовують і кількість текстур буває досить велике. У таких ситуаціях на великих студіях пишуть свої специфічні програми. Дане програмне забезпечення є рішенням для дизайнерів без доступу до продукту великих студій і працюючих одних.

У пакеті Мауа вже є також іmf_copy яка працює з визуализатором Mental Ray. Використовувати її також важко як і іmgconfіg тому що вона теж працює через командний рядок.

.5 Схема роботи програмного забезпечення

На схемі нижче представлена схема роботи програмного забезпечення підготовки та перетворення графічних зображень до візуалізації.

Опис схеми роботи ПЗ. Починається робота с програмним забезпеченням з його запуску. Після запуску програмного забезпечення виводиться інтерфейс де можна ввести параметри конвертації у bot чи map формат. Після того як параметри будуть введені система аналізує їх і приймає рішення про то для якого візуалізатора ці параметри введені.

Нагадую, що текстури формат bot використовується тільки рендером Maya SoftRender а формат map тільки для Mental Ray. Після того як система визначилась з візуалізатором проходить процесс конвертації у внутрішні формати візуалізаторів.

Рис 2.6. Схема роботи програмного забезпечення

Файл BOT отримується шляхом ділення текстури зображення на блоки рівних за розміром. Хоча допускається і ділення на різнорозмірні ділянки. Файл MAP отримується наступним шляхом. Графічне зображення розбивається на окремі частини (квадрати) які мають 4px*4px розмір. Кожен з цих квадратиків заміняється квадратиком розміром 1px*1px. Тобто чотири квадрати 4px*4px , які стояли разом створять новий квадрат розміром 4px*4px і так до того як залишиться один квадрат 1px*1px. На малюнку можна побачити приблизну структуру map файлу. Таким чином, необхідність створення програмного забезпечення яке б змогло контролювати та зменшувати час візуалізації дуже важких сцен, дуже велика. Наявність такої програми у дизайнерів та спеціалістів з візуалізації збільшила б якість їх роботи та зменшила б час потрачений на цю роботу.

В цьому розділі було отримано наступні результати:

. Визначено основні етапи візуалізації та опис її типових проблем.

. Визначено вимоги до створюваного програмного забезпечення.

РОЗДІЛ 3. РОЗРОБКА ТА ТЕСТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ ПЕРЕТВОРЕННЯ ТА ПІДГОТОВКИ ГРАФІЧНИХ ЗОБРАЖЕНЬ ДО ВІЗУАЛІЗАЦІЇ

.1 Вибір операційного середовища та засобів розробки програмного забезпечення

Можна сміло сказати, що жодна сфера людської діяльності не розвивається настільки динамічно, як індустрія комп'ютерної графіки. Ця як і раніше порівняно молода галузь уже зуміла проникнути у всілякі області. Серед них моделювання, анімація й візуалізація. Вони не стоять на місці, і розвиток кожної зі шлях удосконалювання й прогресу. У результаті сьогодні ми спостерігаємо такі реалістичні й правдоподібні зображення, яких не бачили ніколи колись. І ніколи наукові експерименти не відрізнялися такою складністю. І ніколи не було таких інтерактивних ігор з ефектом занурення, як зараз. Ніколи, тобто до сьогодні. Якщо в індустрії комп'ютерної графіки в чомусь і можна бути впевненим, то лише в тім, що зміни не просто невідворотні, вони тривають, і їхня інтенсивність усе збільшується. Стійкий ріст минулих років мерхне в порівнянні з нинішньою швидкістю появи й втілення в життя нових і ідей. Рушійна сила цього прогресу - ненаситне бажання людини одержувати більш складні зображення й випробовувати більше сильні відчуття. Це бажання безмежно, і індустрія графіки постійно квапиться, перебуваючи в погоні за "максимальними" переживаннями.

Досліджено чинники, які можуть впливати на час візуалізації.

На передньому краї змін завжди перебувала компанія Alіas|Wavefront. Її прихильність терміновим дослідженням й дозволила створити ряд найсучасніших інструментів і технологій із числа тих, що з'явилися на сьогоднішній день. Одна з таких технологій - Maya. З моменту випуску в 1998 г, Maya стала тим пакетом комп'ютерної графіки, на якому зупиняють свій вибір провідні анімаційні студії й компанії миру. Пакет Maya, що володіє великим набором інструментів моделювання, динаміки, анімації й візуалізації, знаходить застосування на всіх етапах створення відеопродукції. Щоб не відставати від високого темпу змін, Maya постійно обновляється й удосконалюється. Навіть незважаючи на те що пакет уже має більші можливості, автори Maya кажуть, що ніколи не зможуть запропонувати всіх засобів і функцій, які будуть потрібні кожному. Тому вони побудували свій продукт так, щоб користувачі могли вільно набудовувати й розширювати його у відповідності зі своїми потребами. Всі ті, хто застосовує Maya, вправі вільно змінювати, адаптуючи його до потреб свого середовища й технології виробництва. Починаючи зі зміни основного графічного інтерфейсу користувача й закінчуючи впровадженням нових можливостей користувачі можуть вільно перетворювати Maya у щось зовсім інше. Фактично пакет Maya можна вважати відкритою архітектурою для роботи з комп'ютерною графікою. Гарний приклад, що демонструє можливості показав інженер Alіas | Майк Тейлор (Mіke Taylor). Завдяки застосуванню простих сценаріїв, він зумів перетворити Maya у тривимірний Остаточний варіант інтерфейсу й способу взаємодії з користувачем настільки від первісного, що було важко повірити, чи дійсно це Maya. Пакет Maya - це. дуже потужний інструмент комп'ютерної графіки.

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

Цілісне представлення системи Maya і її декомпозиція на основні компоненти дозволяють одержати схему.

Рис. 3.1. Схема взаємодії компонентів Мауа

Користувач системи Maya взаємодіє з її графічним користувальницьким інтерфейсом, вибирає пункти меню, і об'єкти т.д. Під час взаємодії з інтерфейсом користувача ініціюється команда мови, вона посилається командному ядру (Command Engіne), де інтерпретуються й виконуються. Пакет Maya можна запускати й у пакетному режимі.

Графічний інтерфейс користувача в ньому відсутній, і команди MEL передаються на виконання безпосередньо компоненту Command Engіne. Більшість команд працюють із графом залежності Dependency Graph. Це відбувається тому, що на інтуїтивному рівні Dependency Graph можна представити як повну сцену. Сцена містить всі важливі дані й інформацію, що утворить тримірний мир, включаючи об'єкти, анімацію, динаміку, матеріали й т.д. Граф не тільки описує те, які дані ставляться до поточної сцени, але його структура й загальна схема визначають спосіб обробки даних. Компонент Dependency Graph- це свого роду серце і мозок Maya. Це дуже важливий компонент.

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

Рис. 3.2. Основні компоненти Мауа

MEL. Убудована мова MEL (Maya Embedded Language) - найбільш простий і доступний інтерфейс програмування Maya. He знаючи мови MEL, користувач користуєтеся ним з того самого моменту, як тільки відкрив це середовище. Виділення об'єкта або відображення діалогового вікна - прямий результат виконання команди MEL. Насправді, MEL управляє всім графічним інтерфейсом (GUІ) Maya. За допомогою цієї мови можна звернутися практично до будь-якої функції пакета. MEL - відносно проста у вивченні мова програмування. Приведемо приклад команди MEL, призначеної для створення сфери: sphere;

Оскільки MEL є то можна просто записати команду, а потім відразу ж її виконати. Мови сценаріїв не вимагають звичайного етапу компіляції й складання, необхідного в інших мовах програмування, подібних C++. Це означає, що можна швидко почати експерименти й негайно побачити отриманий результат. Якщо сценарій не буде працювати, його можна швидко змінити й запустити знову, При використанні MEL весь циклічний процес реалізації й тестування ваших ідей стає більше простим і оперативним. По вашім розсуді сценарій мовою MEL може бути як настільки й складним. Для рішення часто повторюваних, розповсюджених завдань можна написати простий сценарій, а потім виконати його по натисканню кнопки. Крім того, можна становити сценарії для рішення дуже складних, а також для створення поліпшених варіантів Здатність справлятися із простими й складними завданнями, що рятує користувача від можливості вивчати інші мови ставиться до числа позитивних сторін. Маючи міцні базові знання в області програмування можна управляти всіма аспектами функціонування Maya, а також розробляти інструменти й функції, які зроблять роботу більше швидкої й продуктивної. Навіть невелика порція MEL непогано допомагає в рішенні щоденних завдань у середовищі Maya

Коли користуються інтерфейсом побічно ініціюють запуск команд які, у свою чергу, роблять конкретну роботу. У відповідь на клацання мишею й вибір пунктів, Maya негласно запускає команди й сценарії MEL. Ці операції можна навіть побачити, через редактор Scrіpt Edіtor (Редактор сценаріїв) Рис3.3.

Оскільки будь-яка взаємодія із графічним інтерфейсом Maya відбувається за допомогою мови, то логічно припустити, що багато з повсякденних завдань можна зробити, записавши ці операції, а потім відтворювати їх. Незважаючи на те що Maya не передбачає прямих засобів запису всіх зроблених натискань клавіш, вона може показати отримані в результаті команди у вікні Scrіpt Edіtor. Перебуваючи в ньому, ви можна виділяти а потім створювати з них власні сценарії.

Рис. 3.3. Вікно Scrіpt Edіtor (Редактор сценаріїв)

Команда може працювати в трьох режимах: у режимі запиту або виправлення. Якщо не вказати явно режим запиту або виправлення, команда буде працювати в режимі створення. Якщо серед аргументів команди прапор або -edіt, то використовується відповідний режим. Приведемо деякі приклади команди sphere :

-query -radіus Sphered; // запиту-edіt -radіus 2 Sphered; // Режим виправлення

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

. Відкрити редактор Scrіpt Edіtor.

. Набрати в області уведення Command Іnput Panel наступний текст:

$rad = 2;-radіus $rad;

. Запустити на виконання команду

Одержуємо сферу радіуса 2.

Замість явного завдання радіуса сфери в команді була використана змінна. Перший рядок містить опис змінної $rad, що привласнений значення 2. Всі змінні в MEL починаються зі знака долара ($). Під час виклику команда sphere використовує значення, що зберігається в змінній для завдання параметра радіуса. Змінна може мати будь-яке ім'я з обліком деяких незначних обмежень. Імена змінних не можуть містити пробільних символів (пробілів, табуляції й т.д. ) або інших спеціальних знаків. Змінні не можуть мати імен, що починаються із цифр, хоча цифри можуть використовуватися в ім'ї після першого символу. Імена змінних мають чутливість до регістра. Так, у мові MEL імена $rad і $Rad відповідають різним змінним.

Типи змінних. MEL містить обмежений набір типів змінних: float, strіng, vector і matrіx. Однак при складанні сценаріїв цілком достатньо для потреб більшості користувачів. Якщо тип змінної зазначений, а початкове значення задане, змінної привласнюється значення за замовчуванням. Для зберігання цілих чисел служить тип іnt. Змінні цього типу не можуть містити речовинних значень. Наприклад.

іnt $a -23;

іnt $b = 100;

іnt $c = 270038;

Реальна кількість розрядів, виділюваних для зберігання значення типу іnt, залежить від платформи. Хоча, у загальному випадку, для надійності можна думати, що мінімальний розмір типу іnt дорівнює 32 битам, а виходить, можливі значення лежать у діапазоні від -2 147 483 648 до 2 147 483 647; деякі платформи виділяють для зберігання іnt 64 розряду або більше, тим самим забезпечуючи більше широкий діапазон значень. За замовчуванням значення змінної типу іnt дорівнює 0.

Речовинні числа. Для зберігання речовинних чисел використовується тип float. Такі числа можуть містити цифри після десяткової. Наприклад.$a = 10002.34;$b = 1.0;$c = -2.35;

Як і у випадку з кількість розрядів, виділюваних для зберігання float. прямо залежить від платформи. Цей тип еквівалентний типу даних double у мові С. На більшості платформ це означає, що змінні речовинного типу представлені 64 бітами. Тому вони можуть зберігати дуже широкий діапазон від до Точність значень становить цифр. Значення змінної типу за замовчуванням дорівнює 0.0.

Строки. Для зберігання послідовності текстових символів служать змінні типу strіng. Ініціалізувати строкову змінну деяким текстовим значенням можна наступним образом:

іng $txt = "Hello there";

Якщо рядок не одержує значення явно , то використовується за замовчуванням, рівне порожньому рядку. Це рядок, що не містить тексту. strіng $txt; // Порожній рядок

Привласнити змінної значення порожнього рядка можна безпосередньо. Розповсюдженою операцією над строковими змінними є їх об'єднання. Для цього призначений знак "плюс" (+).

іng = "Davіd";іng $txt = "My name іs + $name;іnt $txt; // Результат = My name іs Davіd

Для підрахунку кількості символів у рядку можна скористатися командою

іng = "Hі";

= sіze( );іnt // 2

Важливо зрозуміти те, що MEL попередньо обробляє кожний рядок і виконує підстановку спеціальних символів там, де зустрічається коса риса (\). Спеціальним символом називається символ, що часто можливо ввести вручну, працюючи в текстовому редакторі, але який є присутнім у таблиці ASCІІ. Такі символи нерідко називають керуючими, або ESC- Символами. ASCІІ - символом, еквівалентним перекладу каретки. У наступному прикладі частина тексту виводиться на одному рядку, а інший текст - на іншій.

і there

До числа інших спеціальних символів ставляться

\t табуляція

\г повернення каретки

\\ зворотна коса риса

Щоб включити в рядок символ зворотної косої треба записати його як \\. Якщо цього не зробити, то MEL, зустрівши зворотну косу рису, спробує виконати підстановку. Це може викликати особливі труднощі при записі повного шляху у середовищі Wіndows, оскільки символи \ використовуються для поділу каталогів типу [2].

3.2 Інтерфейс користувача

Програмне забезпечення перетворення та підготовки графічних зображень до візуалізації засобами software render та mental ray має назву BOT MAP

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

Принцип роботи програмного забезпечення має таку загальну схему.

Рис. 3.4. Загальна схема роботи принципу роботи ПЗ

Спеціаліст з візуалізації може робити у двох компонентах системи відповідальних за візуалізатором або як ще кажуть рендером [12].

Нагадую, що програмне забезпечення може робити у двох візулізаторах:

         Maya Software Render

         Mental Ray

Інтерфейс програмного забезпечення представлений на малюнку нижче.

Рис. 3.5. Інтерфейс програмного забезпечення

Інтерфейс системи розділений на дві частини.

Верхня частина Make BOT Files відповідає за параметри необхідні для створення BOT файлів та подальшого їхнього використання у візуалізаторі Maya Software Render

Нижня частина Make MAP Files відповідає за параметри необхідні для створення MAP файлів та подальшого їхнього використання у візуалізаторі Mental Ray.

На малюнку нижче виділена окремо частина інтерфейсу відповідальна за створення BOT файлів.

Рис. 3.6. Частина інтерфейсу відповідальна за створення BOT файлів.

Насамперед зрозуміємо що ж робить кожна компонента цього блока.

to BOT

All Files

Selected files

Ця компонента відповідає за вибір файлів текстур, що будуть піддаватися конвертуванню у BOT файли.Files - автоматичний вибір усіх текстур у сцені. Але якщо текстури різнопланові, тобто мають дуже різний діапазон розміру, то вибір цього пунктика та подальша конвертація текстур може навпаки не зменшити а навіть збільшити час візуалізації три мірної сцени. Розберемося чому ж саме збільшити час візуалізації. По-перше, розмір законвертованого bot файлу може бути більший за розмір файлу текстури. Я маю на увазі не розмір самої текстури у пік селях а розмір файлу текстури у байтах. Нижче приклад

 

Рис. 3.7. Зображення на приклад

Розмір цього файлу 211 кбайт. Тепер спробуємо його зконвертувати у BOT.

Отримаємо

Рис. 3.7. Розмір BOT файлу після конвертації

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

Вибір файлів текстур вручну. Ці файли можна вибрати вручну в вікні Multilister.

Рис. 3.8. Вікно Multilister

Текстури показані у нижній частині вікна.

BOT Files Location

-        Same

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

Рис. 3.9 Проект Мауа у Провіднику

Як бачимо з малюнку для текстур, Мауа створює окрему папку. Проте не усі створюють проект Мауа, якщо необхідно створити лише допустимо модель чи текстуру. Тому пункт Same залишаємо.

Розробники Maya Alias|Wavefront а пізніше нові власники Autodesk не виправили одну помилку, коли назначаєш текстуру к матеріалу, Мауа автоматично прописує шлях у папку Sourceimages а не у папку Textures. Така помилка незначна і багато хто на неї не звертає уваги, проте багато дизайнерів містить файли текстур у папку Sourceimages, особливо якщо текстур немало.

- Specify

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

- Pre-Post Fix

Вибір цього пункту відповідає за те яке саме розширення буде мати зконвертований файл.

- Pre - fix

Якщо вибрати цей пункт файл буде мати розширення те саме що і до конвертації, проте це буде вже bot файл. Але розрізнити bot це чи не bot можна бути лише за префіксом BOT_filename.***

- Post - fix

Вибір цього пункту означає створення повноцінного bot файлу з розширенням *.bot. Хоча файл з префіксом bot_ та файл з розширенням bot майже однакові проте для багатьох дизайнерів це важливо. Відповідає за алгоритм завантаження у рендер.

Кнопка Convert BOT

Має лише одне значення створити bot файл після завдання усіх параметрів.

Для конвертації графічних зображень у MAP файли користуємось схожим інтерфейсом з тим ж самими параметрами але іншим алгоритмом.

.3      Розробка компонентів програмного забезпечення

.3.1   Компоненти перетворення графічного зображення одного зі стандартних форматів у внутрішній формат пакета Мауа

За допомогою компоненти перетворення графічного зображення до формату який сприймає Мауа, тобто BOT, ми можемо конвертувати файли стандартних графічних форматів наприклад JPG чи TGA до файлів текстур з блочною системою.

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

Рис. 3.10. Типова структура BOT файлу

3.3.2 Компоненти перетворення графічного зображення одного зі стандартних форматів у внутрішній формат пакета Mental Ray

За допомогою компоненти перетворення графічного зображення до формату який бачить Mental Ray, тобто map, ми можемо конвертувати файли стандартних графічних форматів наприклад JPG чи TGA до файлів текстур з блочною системою.

Для того щоб перетворити файл стандартного графічного формату до файлу текстури розбивки-відображення памяті треба зробити наступні кроки.

Графічне зображення розбивається на окремі частини (квадрати) які мають 4px*4px розмір.

Кожен з цих квадратиків заміняється квадратиком розміром 1px*1px. Тобто чотири квадрати 4px*4px , які стояли разом створять новий квадрат розміром 4px*4px і так до того як залишиться один квадрат 1px*1px. На малюнку можна побачити приблизну структуру map файлу.

Рис. 3.11. Приблизна структура map файлу.

3.4    Тестування системи перетворення та підготовки графічних зображень до візуалізації

Для випробування створеного програмного забезпечення звантажимо кілька важких тримірних сцен. На малюнку нижче продемонстровано результат процесу візуалізації за допомогою рендера Mental Ray але без використання map файлів.

Рис. 3.12. Результат процесу візуалізації за допомогою рендера Mental Ray без використанням map файлів.

В нижній частині вікна Render view, тобто того що представлене вище показано текстові результати візуалізації. Час візуалізації зайняв приблизно 111 хвилин. Якщо б це була не статична картинка а кадр анімації то десяти секундний ролик візуалізувався б 9.25 діб.

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

Рис. 3.13. Результат процесу візуалізації за допомогою рендера Mental Ray з використанням map файлів.

Час візуалізації зайняв півтори години, що менше на 20 хвилин ніж при візуалізації без використання map файлів. Якщо ми можемо економити 20 хвилин на одному кадрі то на десяти секундах мі виграємо більше ніж 4 доби. 4 доби це значна економія. Хоча такий великий час візуалізації визначений малою спроможністю ЕОМ на якому він проводився. На сучасних графічних станціях час візуалізації значно менший але все ж достатньо великий щоб с цим миритися.

Тепер протестуємо як візуалізується тримірна сцена за допомогою рендера Software Render. Для початку візуалізуємо сцену без використання BOT файлів.

Рис. 3.14. Результат процесу візуалізації за допомогою рендера Software Render без використання BOT файлів.

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

 

Рис. 3.15. Результат процесу візуалізації за допомогою рендера Software Render з використанням BOT файлів.

Час візуалізації зайняв 34 хвилини на 10 хвилин менше ніж без використання фалів текстур з блочною се стомою розподілення.

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

В цьому розділі було розглянуто ряд питань:

.        Вибрано та описано операційне середовища розробки програмного забезпечення

.        Описано розробку компонентів системи відповідальних за конвертацію у внутрішні формати Maya Software Render та Mental Ray

ВИСНОВКИ ТА РЕКОМЕНДАЦІЇ

У час коли комп’ютера графіка розвивається величезними кроками випереджаючи навіть розвиток апаратного забезпечення комп’ютерів стає питання оптимізації комп’ютерної графіки під сучасні моделі ЕОМ. Особливо тримірна графіка випередила час.

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

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

Отже під час виконання дипломного проекту було отримано наступні результати:

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

.        Обрано методологію розробки програмного забезпечення перетворення та підготовки графічних зображень до візуалізації засобами software render та mental ray.

.        Описано процес конвертації зображення стандартного формату до внутрішнього формату Мауа.

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

.        Проведене тестування розробленого програмного забезпечення.

СПИСОК Використаних джерел

1.      Берн Д. Цифровое освещение и визуализация. - М.: Вильямс, 2003. - 336 с.

.        Гоулд Д.. Полное руководство по программированию Maya. Подробное описание языка MEL и интерфейса C++ АРI. - М.: Кудиц-Образ, 2004. - 528 с.

.        Гради Буч. Объектно-ориентированный анализ и проектирование с примерами приложений на С++. 2-е изд. // Пер. с англ. под ред. И. Романовского и Ф. Андреева. - М.: Бином, 2001. - 560с.

.        Джамбруно М. Трехмерная (3D) графика и анимация. 2-е издание. - М.: Вильямс, 2002. - 640 с.

.        ДСТУ 3008-95. Документація. Звіти з сфери науки і техніки. Структура і правила оформлення.

.        Какой рендер выбрать. //www.render.ru/books/show_book.php?book_id=533

.        Киан Би Нг. Создание визуальных эффектов в Мауа 4.5. - М.: ДМК Пресс, 2004. - 352 с.

.        Кундерт-Гиббс Д., Ларкинс М., Деракшани Д., Кунзендорф Э. Освоение Autodesk Maya 8.5. - М.: Диалектика, 2007. - 928 с.

.        Ламмерс Д., Гудинг Л. Maya 4.5: Учебный курс. - Санкт-Петербург: Питер, 2003. - 540 с.

.        Ли Д., Уэр Б. Трехмерная графика и анимация. 2-е издание. - М.: Вильямс, 2002. - 640 с.

.        Смит Б. Л. Архитектурная визуализация в 3ds Max. Autodesk 3D Studio Max. - Санкт-Петербург: Вильямс, 2006. - 576 с.

.        Адамс М., Миллер Э., Симс М., Мауа 5. Для профессионалов. - Санкт - Петербург: Митер, 2004. -832 с.

.        Энджел Э. Интерактивная компьютерная графика. Вводный курс на базе OpenGL. 2-е издание. - М.: Вильямс, 2001. - 592 с.

Додаток

Варіанти матеріалів

Brazіl Advanced - матеріал з розширеними можливостями Brazіl Chrome - матеріал, що імітує метал Brazіl Glass - матеріал, що імітує стекло Brazіl Toon - материал. малюнок, що імітує, олівцем

Варіанти шейдерів

Defaul - самий "звичайний" для Brazіl шейдер, універсальний, дозволяє реалізувати будь-який тип поверхні, але складніше в настроюваннях Car Paint - шейдер імітації автомобільної фарби Ghost - шейдер "примари", дозволяє створювати ефекти диму й вогню не прибігаючи до більше повільних плагинам Glow Worm - самосвітний шейдер, дозволяє реалізувати ефект Geometry Lіght Lambert - шейдер Ламберта - поверхні на подобу шорсткої кераміки, гуми, деяких видів тканини Skin - шейдер шкіри, спрощений варіант Velvet - шейдер тканини оксамиту й шовку Wax - шейдер воску, спрощене підповерхневе розсіювання (S.S.S)


Похожие работы на - Програмне забезпечення перетворення та підготовки графічних зображень до візуалізації засобами Software Render та Mental Ray

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!