Графический движок
Графический движок (англ. graphics engine; иногда «рендерер» или «визуализатор») — промежуточное программное обеспечение (англ. middleware), программный движок, основной задачей которого является визуализация (рендеринг) двухмерной или трёхмерной компьютерной графики. Может существовать как отдельный продукт или в составе игрового движка. Может использоваться для визуализации отдельных изображений или компьютерного видео. Графические движки, использующееся в программах по работе с компьютерной графикой (таких, как 3ds Max, Maya, Cinema 4D, Zbrush, Blender), обычно называются «рендерерами», «отрисовщиками» или «визуализаторами». Само название «графический движок» используется, как правило, в компьютерных играх.
Основное и важнейшее отличие «игровых» графических движков от неигровых состоит в том, что первые должны обязательно работать в режиме реального времени, тогда как вторые могут тратить по несколько десятков часов на вывод одного изображения. Вторым существенным отличием является то, что начиная приблизительно с 1995-1997 года, графические движки производят визуализацию с помощью графических процессоров, которые установлены на отдельных платах — видеокартах. Программные графические движки используют только центральные процессоры.
Графические движки в компьютерных играх
Как правило, графические движки не распространяются отдельно от игровых. Единственного графического движка без дополнительных компонентов и инструментария недостаточно для создания игры, поэтому разработчики движков продают лишь игровые движки с полным набором инструментов и компонентов. Однако это правило не относится к свободному программному обеспечению. Энтузиасты создают свободные графические движки и свободно их распространяют. Впоследствии разработчики игр могут объединить свободный графический движок с физическим, звуковым и другими компонентами и создать на основе их полноценный игровой движок.
К самым известным свободным графическим движкам относятся[]:
- OGRE — объектно-ориентированный графический движок, написанный на C++. Движок является многофункциональным, так как с его помощью можно создавать игры разных жанров и другие приложения, не связанные с играми. Поддерживается рендеринг как через Direct3D9, так и через OpenGL. Движок имеет довольно массивное сообщество поддержки, обширную документацию и обучающие примеры на многих языках, включая русский.
- Irrlicht — графический движок, использующий возможности OpenGL и DirectX, написанный на C++.
- GLScene — OpenGL-ориентированный графический движок для Delphi.
Графические движки в специализированных программах
Большинство популярных программ по работе с трёхмерной графикой имеет минимум один встроенный движок, но часто имеется возможность подключить внешний в качестве плагина. К самым известным графическим движкам, которые могут использоваться как плагины в множестве программ, относятся:
Графические движки с 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, будет использовать трассировку лучей и воксели.
Примечания
- ↑ Все источники и подробности см. в статье OptiX
- ↑ DrEvil. Octane Render с использованием CUDA . Мир nVidia (27 января 2010). Дата обращения: 15 мая 2010. Архивировано 15 февраля 2012 года.
Ссылки
- Владимир Болвин, Никита Артемов. Бесплатные игровые движки . Игромания (журнал) (Журнал “Игромания” №5/92 2005). — Описание и анализ самых популярных и перспективных свободных игровых и графических движков. Дата обращения: 21 января 2009. Архивировано 29 января 2013 года.
- Алексей "Старпом" Макаренков, Эдуард Клишин. Пламенные моторы Бесплатные игровые движки . Игромания (журнал) (Журнал “Игромания” №11/122 2007). — Описание и анализ свободных игровых и графических движков, а также интервью с некоторыми разработчиками игр. Дата обращения: 21 января 2009. Архивировано 9 августа 2011 года.