Графічний рушій

Графічний рушій (англ. graphics engine; іноді «рендерер» або «візуалізатор») підпрограмне забезпечення (англ. middleware), програмний рушій, основним завданням якого є візуалізація (рендеринг) двовимірної або тривимірної комп'ютерної графіки. Може існувати як окремий продукт або в складі ігрового рушія. Може використовуватися для візуалізації окремих зображень або комп'ютерного відео. Графічні рушії, що використовуються в програмах, що працюють із комп'ютерною графікою (такі, як 3ds MAX, Maya, Cinema 4D, ZBrush, Blender), зазвичай називаються «рендерерами», «рисувальниками» або «візуалізаторами». Сама назва «графічний рушій» використовується, як правило, у відеоіграх.

Основна й найважливіша відмінність «ігрових» графічних рушіїв від програмних рендерерів полягає в тому, що перші повинні обов'язково працювати в режимі реального часу, тоді як другі можуть витрачати по кілька десятків годин на виведення одного зображення. Другою істотною відмінністю є те, що, починаючи приблизно з 19951997 років, графічні рушії роблять рендеринг за допомогою графічних процесорів (англ. GPU), які встановлені на окремих платах відеокартах. Програмні рендерери використовують тільки центральні процесори (англ. CPU).

Графічні рушії у відеоіграх

Скриншот з бенчмарка «Fresnel Reflections and Refractions» (укр. Дифракція Френеля) з пакета «OGRE Demos pack». У даному тесті демонструється робота рушія з водою, відбиттями й переломленнями у водному середовищі. Опції рендеринга зображення: оригінальне розділення 1600*1200 пікселів, OpenGL-рендерер, 16-кратне повноекранне згладжування (FSAA), 32-бітний колір. У кадрі присутні 23653 трикутники.

На етапі становлення відеоігор графічний рушій був найголовнішою частиною ігрового рушія. Властиво, приблизно 90-95% ігрового рушія становив саме графічний рушій (іншу частину займали такі незначні підсистеми, як «система введення» і деякі інші). Однак із середини 90-х років внаслідок стрімкого розвитку відеоігор розробники ігор почали додавати у свої продукти й інші підсистеми, такі як звуковий рушій, робота з мережею. У сучасних відеоіграх графічний рушій — один із багатьох компонентів ігрового рушія (хоча й найголовніший), куди входять фізичний рушій, звуковий рушій, система анімації (кістякова й лицева анімація), система з роботи з мережею, ігровий штучний інтелект.

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

До найвідоміших вільних графічних рушіїв належать:

  • OGRE об'єктно-орієнтований графічний рушій, написаний на C++. Рушій є багатофункціональним, тому що з його допомогою можна створювати ігри різних жанрів та інші застосунки, не пов'язані з іграми. Підтримується рендеринг як через Direct3D9, так і через OpenGL. Рушій має досить потужне співтовариство підтримки, велику документацію й навчальні приклади на багатьох мовах.
  • Irrlicht — графічний рушій, що використовує можливості OpenGL і DirectX, написаний на C++.
  • GLScene OpenGL-Орієнтований графічний рушій для Delphi.

Також досить відомим і розповсюдженим є пропрієтарний, але безкоштовний для використання графічний рушій PhyreEngine, розроблений Sony Computer Entertainment для використання переважно в ігровій приставці Sony PlayStation 3.

Графічні рушії в спеціалізованих програмах

«Мармуровий чихуахуа» — зображення, створене з використанням убудованого рендерера Blender

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

Графічні рушії з 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

Примітки

  1. Всі джерела й подробиці див. у статті OptiX
  2. DrEvil (27 січня 2010 року). Octane Render з використанням CUDA. Мир nVidia. Архів оригіналу за 6 грудня 2010.

Посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.