CEGUI - CEGUI
Тема этой статьи может не соответствовать Википедии рекомендации по продуктам и услугам.Ноябрь 2018) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Пример игрового меню с использованием CEGUI | |
Оригинальный автор (ы) | Пол Д Тернер |
---|---|
Разработчики) | Команда CEGUI |
изначальный выпуск | Декабрь 2004 г. |
Стабильный выпуск | 0.8.7 (28 апреля 2016 г.[±][1] | )
Написано в | C ++ |
Операционная система | Linux, OS X, Windows |
Тип | Набор инструментов для виджетов |
Лицензия | Массачусетский технологический институт До версии 0.5.0: GNU LGPL[2] |
Интернет сайт | Cegui |
Графический интерфейс Сумасшедшего Эдди (CEGUI) это графический интерфейс пользователя (GUI) библиотека для языка программирования C ++. Он был разработан для нужд видеоигры, но его можно использовать для неигровых задач, таких как приложения и инструменты. Он разработан для обеспечения гибкости внешнего вида и удобства пользователя и может быть адаптирован к выбору пользователя в отношении инструментов и операционных систем.
Конфигурируемость
Сильные стороны CEGUI - надежность.[3] и его настраиваемость. Система не загружает файлы напрямую, не отображает окна, не отображает напрямую текст и даже не получает ввод из системы. CEGUI взаимодействует с ними через определяемый пользователем код, хотя его пакет с исходным кодом поставляется с рядом модулей для использования определенных компонентов и библиотек.
Эта свобода позволяет использовать CEGUI в любой системе управления ресурсами или операционной среде. Ожидается, что ввод будет собран кодом пользователя, возможно, отфильтрован по усмотрению пользователя, а затем передан в CEGUI для обработки окна.
CEGUI поставляется с разумным набором виджетов, сравнимым со средним набором виджетов.
Инструменты
CEGUI можно полностью настроить с помощью стандартных инструментов редактирования изображений, xml и / или кода. Однако CEGUI также предоставляет инструменты, предназначенные для помощи в проектировании и разработке интерфейсов на основе CEGUI.
Более старые версии CEGUI, до 0.8, предоставляли отдельные инструменты для редактирования различных аспектов интерфейса. Наиболее заметными из них являются редакторы Imageset и Layout.
Начиная с CEGUI 0.8, существует новый унифицированный инструмент редактирования, называемый унифицированным редактором CEGUI (CEED), который активно развивается.[4] Он объединяет все аспекты разработки графического интерфейса в одном инструменте.
Рендеринг
Рендеринг выполняется серверной частью Модуль рендеринга. CEGUI предоставляет модули для Direct3D, OpenGL, то ОГРЭ 3D-движок и Irrlicht Engine. Другие модули могут быть написаны для собственных движков.
Компоненты графического интерфейса CEGUI организованы в виде дерева (графа).[5] и отображаются в порядке обхода дерева.
Управление ресурсами
Загрузка файлов и управление ресурсами осуществляется через внутренний «модуль поставщика ресурсов». Пользователи могут создавать собственные модули, чтобы определять способ доступа к ресурсам. Это позволяет использовать библиотеку практически в любой операционной среде. Поставщик ресурсов по умолчанию является кроссплатформенным и предоставляет стандартные механизмы доступа к файлам для загрузки ресурсов. Необязательный minizip модуль позволяет загружать ресурсы из zip-архивов.
Управление памятью
CEGUI имеет гибкий Управление памятью система. Эта система была основана на OGRE и позволяет клиентам сопоставлять разные типы распределителей памяти с разными типами объектов. По умолчанию все объекты используют распределитель по умолчанию операционной системы. CEGUI поддерживает OGRE и недмаллок распределители.
Сценарии
CEGUI имеет дополнительный бэкэнд Модуль сценариев. Lua и Python Модули сценариев предоставляются CEGUI. Полный CEGUI интерфейс прикладного программирования (API) доступен через скрипт, поэтому клиенты могут создавать окна, определять отношения и обрабатывать события в скриптовой среде.
Смотреть и чувствовать
CEGUI имеет мощную систему для определения внешнего вида различных виджеты. Система, названная Falagard, позволяет определять внешний вид виджета через файлы XML или код C ++, если пользователь предпочитает. Он также может изменить поведение макета любых виджетов.
Анимация
CEGUI имеет встроенную систему анимации. Эта система позволяет использовать множество стандартных переходных эффектов от перемещения окон и изменения их размеров до преобразования цвета и последовательности изображений. Анимации могут быть определены в XML и запускаться любым событием. Клиент может указать свойства окна как ключевые кадры, способ перехода между кадрами и время перехода между кадрами.
Unicode
CEGUI - это Unicode осведомлен и поддерживает двунаправленные языки через дополнительный сервер Модуль Bidi. Эту поддержку оказывает MiniBidi или же FriBidi.
Зависимости библиотеки
CEGUI может быть построен без зависимости от внешних библиотек. Однако типичные конфигурации требуют FreeType, модуль визуализации, модуль синтаксического анализатора XML и модуль кодека изображений. CEGUI уже обеспечивает поддержку нескольких внешних библиотек благодаря своей модульной конструкции:
Тип | Имя | Дополнительная информация |
---|---|---|
Модуль рендеринга | Профиль ядра OpenGL 3.2+ | Использует программируемый конвейер рендеринга и только нерекомендуемые функции и, следовательно, совместим с контекстами OpenGL Core Profile (доступными с OpenGL 3.2). Его также можно использовать со старыми версиями OpenGL и / или профилем совместимости, если доступны необходимые функции. |
OpenGL | Использует конвейер рендеринга с фиксированной функцией. Он разработан для совместимости с очень ранними версиями OpenGL, начиная с OpenGL 1.2, с использованием некоторых расширений OpenGL. | |
Microsoft Direct3D | Microsoft Direct3D 9, 10 и 11 поддерживаются с использованием отдельных модулей. | |
ОГРЭ | В выпусках поддерживается последняя стабильная версия Ogre. | |
Irrlicht Engine | В выпусках поддерживается последняя стабильная версия Irrlicht. | |
Модуль кодека изображений | Простая библиотека загрузки изображений (ГЛУПЫЙ) | Кодек изображения по умолчанию, который основан на библиотеке SILLY. Поддерживает множество форматов.[6] |
Дьявол | Кодек изображений на основе библиотеки DevIL. | |
FreeImage | Кодек изображений на основе библиотеки FreeImage. | |
ОГРЭ | Кодек изображения, который загружает данные с помощью средств загрузки изображений OGRE. | |
Модуль поставщика ресурсов | Дефолт | Внутренний поставщик ресурсов CEGUI можно использовать без дополнительного модуля. Он использует стандартный кроссплатформенный доступ к файлам. |
ОГРЭ | Пользователи Ogre могут использовать CEGUI Ogre ResourceManager. Таким образом, расположение ресурсов CEGUI можно указать точно так же, как это уже сделано для ресурсов Ogre. | |
minizip | MinizipResourceProvider CEGUI позволяет предоставлять возможность загружать файлы ресурсов из мест в файлах .zip. | |
Модуль синтаксического анализа XML | Эмигрант | XML-парсер CEGUI по умолчанию. Использует Эмигрант библиотека для разбора XML. |
LibXML2 | Использует LibXML2 библиотека для разбора XML. | |
RapidXml | Использует библиотеку RapidXml для синтаксического анализа XML. | |
TinyXML | Использует TinyXML библиотека для разбора XML. | |
Xerces -С ++ | Использует библиотеку Xerces-C ++ для синтаксического анализа XML. Он может проверять схемы, используя файлы .xsd, предоставленные в ресурсах CEGUI. | |
Модуль шрифтов | FreeType | FreeType является библиотекой шрифтов по умолчанию CEGUI и в настоящее время единственной официально поддерживаемой. |
Модуль регулярных выражений | Регулярные выражения, совместимые с Perl (PCRE) | Библиотека регулярных выражений по умолчанию и в настоящее время единственная официально поддерживаемая. Использует PCRE. |
Модуль сценариев | Lua | Предоставляет привязки lua с использованием tolua ++. |
Python | Официальные привязки Python доступны с использованием PyCEGUI[7] | |
Управление памятью | ОГРЭ | Распределитель памяти Ogre может дополнительно использоваться для управления памятью CEGUI. |
недмаллок | недмаллок при желании может использоваться как распределитель памяти. | |
Двунаправленный языковой модуль | MiniBIDI | MiniBIDI основанная на реализации CEGUI визуального отображения Bidi. |
FriBIDI[8] | FriBIDI основанная на реализации CEGUI визуального отображения Bidi. |
Библиотека Ogre3D раньше зависела от библиотеки CEGUI для своего пользовательского интерфейса[9] но с тех пор Ogre3D был изменен, чтобы включить собственное решение пользовательского интерфейса, которое стало тоньше, но также обеспечивает меньшую функциональность.
История выпуска
Версия | Дата выхода |
---|---|
0.1.0 | 2004-12-19[10] |
0.1.1 | 2005-01-23 |
0.2.0 | 2005-02-17 |
0.2.1 | 2005-05-30 |
0.3.0 | 2005-06-30 |
0.4.0 | 2005-09-07 |
0.4.1 | 2005-11-26 |
0.5.0 | 2006-11-06 |
0.6.0 | 2008-03-27 |
0.6.2 | 2008-12-03 |
0.7.0 | 2009-09-20 |
0.7.1 | 2009-10-26 |
0.7.2 | 2010-08-29 |
0.7.3 | 2010-10-08 |
0.7.4 | 2010-10-11 |
0.7.5 | 2010-11-20 |
0.7.6 | 2012-01-22 |
0.7.7 | 2012-06-23 |
0.7.8 | 2013-01-08 |
0.7.9 | 2013-01-13 |
0.8.0 | 2013-05-26 |
0.8.1 | 2013-06-05 |
0.8.2 | 2013-06-12 |
0.8.3 | 2013-12-07 |
0.8.4 | 2014-07-07 |
0.8.5 | 2016-03-12 |
Смотрите также
Рекомендации
- ^ http://cegui.org.uk/download/cegui-087
- ^ http://www.libsdl.org/license.php
- ^ Макдональд, Микки (29 января 2018 г.). Освоение разработки игр на C ++: создание профессиональных и реалистичных 3D-игр с использованием C ++ 17. Бирмингем, Великобритания. ISBN 978-1-78862-983-6. OCLC 1023864109.
- ^ CEED
- ^ Распространенные вычисления и сетевой мир: Совместная международная конференция, ICPCA / SWS 2012, Стамбул, Турция, 28-30 ноября 2012 г., Отредактированные избранные документы. Зу, Цяохун., Ху, Бо., Эльчи, Атилла., Симпозиум IEEE по веб-сообществу (2012: Стамбул, Турция). Берлин: Springer. 2013. ISBN 978-3-642-37015-1. OCLC 830532405.CS1 maint: другие (связь)
- ^ http://cegui.org.uk/wiki/SILLY
- ^ http://cegui.org.uk/wiki/PyCEGUI
- ^ http://www.fribidi.org
- ^ Торн, Алан. (2008). Кросс-платформенная разработка игр. Плано, Техас: Wordware Pub. ISBN 978-1-59822-056-8. OCLC 213408662.
- ^ http://sourceforge.net/projects/crayzedsgui/files/CEGUI%20Mk-2/0.1.0/