Графический движок
Графический движок (англ. 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.
[править] Графические движки в специализированных программах
Большинство популярных программ по работе с трёхмерной графикой имеет минимум один встроенный рендерер. Однако часто имеется возможность подключить внешний рендерер в качестве плагина. К самым известным рендерерам, которые могут использоваться как плагины в множестве программ, относятся:
[править] Графические движки с 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.
[править] Ссылки
- Владимир Болвин, Никита Артемов Бесплатные игровые движки. Игромания (журнал) (Журнал “Игромания” №5/92 2005). — Описание и анализ самых популярных и перспективных свободных игровых и графических движков. Проверено 21 января 2009.
- Алексей "Старпом" Макаренков, Эдуард Клишин Пламенные моторы Бесплатные игровые движки. Игромания (журнал) (Журнал “Игромания” №11/122 2007). — Описание и анализ свободных игровых и графических движков, а также интервью с некоторыми разработчиками игр. Проверено 21 января 2009.

