Графический движок

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

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

Основное и важнейшее отличие «игровых» графических движков от неигровых состоит в том, что первые должны обязательно работать в режиме реального времени, тогда как вторые могут тратить по несколько десятков часов на вывод одного изображения. Вторым существенным отличием является то, что начиная приблизительно с 1995-1997 года, графические движки производят визуализацию с помощью графических процессоров, которые установлены на отдельных платах — видеокартах. Программные графические движки используют только центральные процессоры.

Графические движки в компьютерных играх

[править | править код]
Скриншот из бенчмарка «Fresnel Reflections and Refractions» (рус. Дифракция Френеля) из пакета «OGRE Demos pack». В данном тесте демонстрируется работа движка с водой, отражениями и преломлениями в водной среде. Параметры визуализации: оригинальное разрешение 1600*1200 пикселей, OpenGL-движок, 16-кратное полноэкранное сглаживание (FSAA), 32-битный цвет. В кадре присутствует 23653 треугольника.

Как правило, графические движки не распространяются отдельно от игровых. Единственного графического движка без дополнительных компонентов и инструментария недостаточно для создания игры, поэтому разработчики движков продают лишь игровые движки с полным набором инструментов и компонентов. Однако это правило не относится к свободному программному обеспечению. Энтузиасты создают свободные графические движки и свободно их распространяют. Впоследствии разработчики игр могут объединить свободный графический движок с физическим, звуковым и другими компонентами и создать на основе их полноценный игровой движок.

К самым известным свободным графическим движкам относятся[источник не указан 2520 дней]:

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

Графические движки в специализированных программах

[править | править код]
«Мраморный чихуахуа» — изображение, созданное с использованием встроенного движка 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, будет использовать трассировку лучей и воксели.

Примечания

[править | править код]
  1. Все источники и подробности см. в статье OptiX
  2. DrEvil. Octane Render с использованием CUDA. Мир nVidia (27 января 2010). Дата обращения: 15 мая 2010. Архивировано 15 февраля 2012 года.