Графічний рушій
Графічний рушій (англ. graphics engine; іноді «рендерер» або «візуалізатор») — підпрограмне забезпечення (англ. middleware), програмний рушій, основним завданням якого є візуалізація (рендеринг) двовимірної або тривимірної комп'ютерної графіки. Може існувати як окремий продукт або в складі ігрового рушія. Може використовуватися для візуалізації окремих зображень або комп'ютерного відео. Графічні рушії, що використовуються в програмах, що працюють із комп'ютерною графікою (такі, як 3ds MAX, Maya, Cinema 4D, ZBrush, Blender), зазвичай називаються «рендерерами», «рисувальниками» або «візуалізаторами». Сама назва «графічний рушій» використовується, як правило, у відеоіграх.
Основна й найважливіша відмінність «ігрових» графічних рушіїв від програмних рендерерів полягає в тому, що перші повинні обов'язково працювати в режимі реального часу, тоді як другі можуть витрачати по кілька десятків годин на виведення одного зображення. Другою істотною відмінністю є те, що, починаючи приблизно з 1995–1997 років, графічні рушії роблять рендеринг за допомогою графічних процесорів (англ. GPU), які встановлені на окремих платах — відеокартах. Програмні рендерери використовують тільки центральні процесори (англ. CPU).
Графічні рушії у відеоіграх
На етапі становлення відеоігор графічний рушій був найголовнішою частиною ігрового рушія. Властиво, приблизно 90-95% ігрового рушія становив саме графічний рушій (іншу частину займали такі незначні підсистеми, як «система введення» і деякі інші). Однак із середини 90-х років внаслідок стрімкого розвитку відеоігор розробники ігор почали додавати у свої продукти й інші підсистеми, такі як звуковий рушій, робота з мережею. У сучасних відеоіграх графічний рушій — один із багатьох компонентів ігрового рушія (хоча й найголовніший), куди входять фізичний рушій, звуковий рушій, система анімації (кістякова й лицева анімація), система з роботи з мережею, ігровий штучний інтелект.
Як правило, графічні рушії не поширюються окремо від ігрових. Єдиного графічного рушія без додаткових компонентів й інструментарію недостатньо для створення гри, тому розроблювачі рушіїв продають лише ігрові рушії з повним набором інструментів і компонентів. Однак це правило не відноситься до вільного програмного забезпечення. Ентузіасти створюють вільні графічні рушії й вільно їх розповсюджують. Згодом розробники ігор можуть об'єднати вільний графічний рушій із фізичним, звуковим та іншими компонентами й створити на їхній основі повноцінний ігровий рушій.
До найвідоміших вільних графічних рушіїв належать:
- OGRE — об'єктно-орієнтований графічний рушій, написаний на C++. Рушій є багатофункціональним, тому що з його допомогою можна створювати ігри різних жанрів та інші застосунки, не пов'язані з іграми. Підтримується рендеринг як через Direct3D9, так і через OpenGL. Рушій має досить потужне співтовариство підтримки, велику документацію й навчальні приклади на багатьох мовах.
- Irrlicht — графічний рушій, що використовує можливості OpenGL і DirectX, написаний на C++.
- GLScene — OpenGL-Орієнтований графічний рушій для Delphi.
Також досить відомим і розповсюдженим є пропрієтарний, але безкоштовний для використання графічний рушій PhyreEngine, розроблений Sony Computer Entertainment для використання переважно в ігровій приставці Sony PlayStation 3.
Графічні рушії в спеціалізованих програмах
Більшість популярних програм з роботи із тривимірною графікою має мінімум один убудований рендерер. Однак часто є можливість підключити зовнішній рендерер як плагін. До найвідоміших рендерерів, які можуть використовуватися як плагіни в різних програмах, відносяться:
- RenderMan
- mental ray
- V-Ray
- Brazil R/S
- Maxwell Render
- Indigo Renderer
- YafaRay
- POV-Ray
Графічні рушії з GPU-Прискоренням і трасуванням променів
Починаючи з 2009 року, у зв'язку з розвитком графічних процесорів, а саме у зв'язку зі збільшенням їхньої багатофункціональності й гнучкості, почали розроблятися й виходити графічні рушії реального часу, які використовують потужності GPU для розрахунків. Як правило, такі рушії реалізують освітлення через метод трасування променів, а геометрія іноді представлена вокселями, а не полігонами. Дані рушії призначаються для роботи як у відеоіграх, так і в інших інтерактивних і неінтерактивних застосунках, включаючи наукові розрахунки.
- OptiX — графічний рушій реального часу, розроблений nVidia, використовує CUDA, і працює винятково на графічних процесорах виробництва nVidia і призначений для різноманітних обчислень, досліджень і моделювань. «OptiX» є гібридним рендерером — основним є використання трасування променів, але є присутнім і растеризація.[1]
- Octane Render — графічний рушій реального часу, розроблений компанією Refractive Software LTD, що використовує CUDA і працює на всіх графічних процесорах nVidia, починаючи з 8Х00. Використовує трасування променів[2]
- id Tech 6 — графічний рушій, що входить до складу ігрового рушія id Tech 6, буде використовувати трасування променів і вокселі.
Див. також
- OGRE
- Horde3d
- Irrlicht
Примітки
- Всі джерела й подробиці див. у статті OptiX
- DrEvil (27 січня 2010 року). Octane Render з використанням CUDA. Мир nVidia. Архів оригіналу за 6 грудня 2010.
Посилання
- Володимир Болвін, Микита Артемов (Журнал “Ігроманія” №5/92 2005). Безкоштовні ігрові рушії. Ігроманія (журнал). Архів оригіналу за 16 серпня 2010.(рос.)
- Олексій "Старпом" Макаренков, Едуард Клішин (Журнал “Ігроманія” №11/122 2007). Полум'яні мотори Безкоштовні ігрові рушії. Ігроманія (журнал). Архів оригіналу за 1 серпня 2009.(рос.)
- Borik (18 січня 2007 року). Каркас графічного рушія. x-sky.ru. Архів оригіналу за 25 червня 2010.(рос.)