CGI (графіка)

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

CGI (англ. computer-generated imagery, букв. «Зображення, згенеровані комп'ютером») — спецефекти в кінематографі, телебаченні та симуляторах, створені за допомогою тривимірної комп'ютерної графіки. У комп'ютерних іграх зазвичай використовуть комп'ютерну графіку в реальному часі, але періодично додають і внутрішньоігрові відео, в яких використовується CGI.

Історія CGI у кіно[ред.ред. код]

Уперше почали використовуватися 2D CGI, у фільмі Westworld (1973) Майкла Крайтона, хоча найперше застосування 3D зображень було в його сиквелі — Futureworld (1976), який містив CGI руки та обличчя персонажів відповідно до сюжету, створеними на той час аспірантами університету Юти Edwin Catmull і Fred Parke. Також комп'ютери з метою управління і контролю над рухом об'єктів у кадрі частково стали використовуватися в 1977 р. на зніманнях «Зоряних війн» та «Близьких контактів третього вигляду», поставлених відповідно двома головними представниками сучасного супервидовищного кіно — Дж. Лукасом і С. Спілбергом, що підтримали надтехнічну тенденцію, біля витоків якої стояв С. Кубрик зі своїм фільмом «2001: Космічна Одіссея» (1968). У 1982 р. група Дж. Вейє з лукасівської фірми ILM брала участь у створенні стрічки «Зоряний шлях II: Гнів Хана» — на комп'ютері відтворено неіснуюче гірське пасмо, а мертву планету перетворено на подібність Едему. Перші два фільми, в яких були зроблені великі інвестиції на виробництво спецефектів на основі CGI, а ось Tron (1982) і The Last Starfighter (1984), були комерційно невдалими, змушуючи більшість режисерів зменшити ставки на тотальне використання CGI для спецефектів, у своїх фільмах, які, як передбачалося, повинні були створюватися на комп'ютерах. Перший найбільш реальний персонаж CGI (не рахуючи персонажа в Tron — найпростішого багатогранника, на ім'я Bit, він приймав різні форми перед солдатом) був створений Pixar для фільму Young Sherlock Holmes в 1985, це був лицар сформований з вітражу. Фотореалістичний CGI не міг підкорити кінопромисловість до 1989 року, поки фільм The Abyss не зміг взяти премію Academy Award за Visual Effects. Industrial Light and Magic (ILM) виробляли фотореалістичні візуальні ефекти CGI, особливо водні та морські поверхні, істоту з морської води назвали псевдоподією, показаного в одній зі сцен фільму. Тріумфальний хід по кінокартинах CGI, приніс неймовірний комерційний успіх для Terminator2: Judgment Day (1991), застосування CGI довело, що неможливо поставити іншими методами, головного персонажа-злочинця, робота з рідкого металу Т-1000 Terminator. Він повністю підкорив глядачів рідким металом і ефектами морфинга. CGI образ Термінатора, дуже гармонійно був інтегрований на сцені, протягом усього фільму. Terminator 2 з CGI від ILM, також отримав Оскар за спецефекти. Фільм 1993 року Jurassic Park, де динозаври здавалися настільки живими, і були як CGI, інтегровані та комбіновані в фільмі, з грою акторів. Це було зроблено так бездоганно, що призвело до перевороту в кіноіндустрії. Спецефекти фільму Jurassic Park, відзначили перехід Голлівуду від анімації покадрового руху персонажів і стандартних оптичних ефектів, до цифрових технологій. У 1992 р. Релстон очолив колектив майстрів комп'ютерних ефектів у фільмі «Смерть їй личить» Земекіса (черговий «Оскар» — не можна було не оцінити наскрізну дірку, зроблену в тілі героїні Голді Хон, що любісінько розгулювала в кадрі). Але найзнаменитіший трюк, народжений Релстоном на комп'ютері, — це вигаданий герой Форрест Гамп з однойменної стрічки 1994 р. (знову режисера Земекіса), який у кінохроніці, що стала вже історією, вітається за руку з президентом Джоном Кеннеді. Отже не дивно, що в активі Релстона опинилася вже п'ята в його кар'єрі золота статуетка Американської кіноакадемії. Проте за кількістю одержаних «Оскарів» лідирує майстер візуальних ефектів Д. Мерен, теж один зі співробітників лукасівської фірми ILM. У ЗО років він уперше опинився серед володарів «Оскара» за спецефекти до картини «Імперія завдає удару у відповідь», другої в циклі «Зоряних воєн».

Спецефекти[ред.ред. код]

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

Анімаційні фільми[ред.ред. код]

CGI за технологією 2D, набули поширення, в традиційно знятих анімаційних фільмах, де CGI доповнили намальовані на целулоїді художниками кадри. Застосування CGI використовувалося в проміжних кадрах між основних фаз, що б руху було найбільш плавними та правдоподібними, в таких сценах як бальні танці в Beauty and the Beast. У 1995 р. з'явилася перша повністю знята на комп'ютері анімаційна картина «Іграшкова історія» Дж. Лессітера, оголошена зразком кінематографа століття. Проте істотно й те, що в категорії «найкращі спецефекти» приз Американської кіноакадемії тоді дістався австралійській стрічці «Бейб» (або «Чотириногий малюк»). У ній британська компанія «Jim Henson's Creature Shop» застосувала неймовірні аніматронні ефекти із залученням складної комп'ютерної системи не тільки для оживлення тварин, але і для створення повного враження, що вони можуть синхронно розмовляти, причому на найбільших планах. «Комп'ютерні» тварини діють на екрані в найбільш ризикованих для живих собак кадрах рімейку діснеївського мультфільму «Сто та один далматинець» (1996). CGI студії другого ешелону, такі як Blue Sky Studios (Fox), DNA Productions (Paramount Pictures and Warner Bros.), Onation Studios (Paramount Pictures), Sony Pictures Animation (Columbia Pictures), Vanguard Animation (Walt Disney Pictures, Lions Gate Films and 20th Century Fox), Big Idea Productions (Universal Pictures and FHE Pictures) і Pacific Data Images (Dreamworks SKG) почали запускати у виробництво свої проекти, а також існуючі компанії традиційної анімації, такі як компанія Walt Disney, почала поступовий перехід від традиційної анімації до CGI.

Застосування комп'ютера в кіно, безперечно, прорив до раніш невідомої технології, яка може значно змінити всі наші уявлення про кінематограф. Не виключено, що кіно майбутнього взагалі зможе обходитися без акторів (комп'ютери скоро виявляться здатними відтворювати волосяний покрив і відтінки людської шкіри — штучні актори дуже дорого коштують). Робота ж режисера справді зведеться до професії комп'ютерного програміста, майстра візуальних спецефектів. Досягнення в технології CGI оголошують щороку, на конференції SIGGRAPH (Special Interest Group for Computer GRAPHics), щорічна конференція з комп'ютерної графіки та інтерактивної технології, беруть участь десятки тисяч комп'ютерних професіоналів. Розробники комп'ютерних ігор і 3D відеокарт прагнуть досягти того ж якості зображення на персональних комп'ютерах в режимі реального часу, наскільки це можливо, як для CGI фільмів і анімації. При швидкому просуванні в реальному часі якості візуалізації, художники почали використовувати ігрові рушії, для рендеру постановочних фільмів. Цей арт називається machinima.

Технічний процес створення CGI[ред.ред. код]

Для CGI фільмів, як правило, рендерилось зображення розміром близько 1.4 — 6 мегапікселів (MP). Історія іграшок, наприклад, була рендер розміром +1 536 922, це 1.42 MP. Час на візуалізацію одного кадру, як правило, займало близько 2-3 годин, і по десять проходів, для найбільш складних сцен. Час візуалізації не сильно змінилося за останні десятиліття, оскільки якість зображення, прогресував з такою ж швидкістю, як і апаратний прогрес, оскільки з більш швидкими процесорами, ставали можливими, все більш складні сцени. Експоненціальне зростання обчислювальної швидкості графічних процесорів, а також масового збільшення кількості основних процесорів, здешевлення зберігання і приріст швидкості і розміру пам'яті, значно збільшили потенціал виробництва CGI.

Призначення інтерфейсу CGI[ред.ред. код]

Інтерфейс CGI виконує функції шлюзу між різними програмами, встановленими на web-сервері, і браузерами користувачів. Коли браузер запитує певний ресурс, web-сервер запускає програму, яка вже повертає результат в браузер користувача. Використання CGI-програм потрібно, коли необхідно в браузері користувача показати сторінку, сформовану на основі будь-яких дій користувача. Наприклад, коли користувачі вводять в форму будь-які дані, а на їх основі формується посилається вам сторінка. CGI-програма може також визначити IP-адресу вашого комп'ютера в мережі, і на основі його визначити вашу країну, в результаті передавши вам html документ на вашій рідній мові!

Механізм CGI перенаправляє висновок програми на web-сервер, а той, у свою чергу, в браузер користувача. З точки зору програми немає нічого незвичайного — вона лише виводить інформацію. Абсолютно будь-яка програма не може бути CGI-програмою, тому що перед своїм висновком вона повинна вивести певні заголовки сервера — вказати хоча б тип виведеної інформації. Наприклад, якщо користувач хоче вивести картинку, він повинен відправити заголовок Content-type: image / gif. Якщо CGI-програмі потрібно передати параметри, то робиться це дуже просто — як і у випадку зі звичайною програмою. Наприклад, потрібно передати рядок запиту name=Ivan&email=ivan@ivanov.com сценарієм cgi.exe. Для цього необхідно викликати програму cgi.exe з вказаною рядком запиту: cgi.exe name=Ivan&email=ivan@ivanov.com.

Розділяють параметри за допомогою символу &. Бачили коли-небудь на сторінці кілька полів введення і перемикачів, а під ними кнопку «Відправити»? Це і є форма, з її допомогою можна автоматизувати процес передачі даних сценарієм. Зрозуміло, сценарій знову ж повинен адекватно зреагувати на ці параметри: провести розбір рядка, створити змінні й т. д. Слід звернути увагу на те, що всі ці дії доведеться програмувати вручну, якщо користуватися мовою Сі. PHP розбирає параметри рядка запиту самостійно.

Такий спосіб посилки параметрів сценарієм (коли дані містяться в командний рядок URL) називається методом GET. Фактично, навіть якщо не передається ніяких параметрів (наприклад, при завантаженні статичної сторінки), все одно застосовується метод GET. Однак, існує ще один поширений спосіб — передача параметрів запиту методом POST.

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

Способи створення CGI-сценаріїв (common gateway interface скриптів)[ред.ред. код]

CGI-програми часто написані якою-небудь інтерпретованою мовою (PHP, Perl, Bash, Phyton і інші). Також можна написати програму на компільовані мови, наприклад C, який і буде обробляти дані користувача. Наведемо приклад CGI-програми на C:

#include <time.h> // Потрібна для ініціалізації функції rand ()
#include <stdio.h> // Включаємо підтримку функцій введення / виводу
#include <stdlib.h> // для підтримки функції rand ()
// Головна функція. Саме вона і запускається при старті сценарію.
void main(void) {
// ініціалізуємо генератор випадкових чисел
int Num; time_t t; srand(time(&t));
// до Num записується випадкове число від 0 до 9
Num = rand()%10;
// далі вводимо заголовки відповіді. Тип - html-документ
printf("Content-type: text/html\n");
// заборона кешування
printf("Pragma: no-cache\n");
// порожній заголовок
printf("\n");
// виводимо текст документа - його ми побачимо в браузері
printf("<html><body>");
printf("Випадкове число в діапазоні 0-9: %d",Num);
printf("</body></html>");
}

Дану програму можна скомпілювати у виконуваний (двійковий) файл cgi.exe і звертатися до нього, як до CGI-сценарію.

Посилання[ред.ред. код]

Джерела[ред.ред. код]


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