Тема этой статьи может не соответствовать рекомендациям Википедии о продуктах и услугах . ( ноябрь 2018 г. )( Узнайте, как и когда удалить этот шаблон сообщения ) |
Пример игрового меню с использованием CEGUI | |
Оригинальный автор (ы) | Пол Д Тернер |
---|---|
Разработчики) | Команда CEGUI |
изначальный выпуск | Декабрь 2004 г . |
Стабильный выпуск | 0.8.7 (28 апреля 2016 г . [±] [1] | )
Написано в | C ++ |
Операционная система | Linux , OS X , Windows |
Тип | Набор инструментов для виджетов |
Лицензия | MIT До версии 0.5.0: GNU LGPL [2] |
Интернет сайт | cegui |
GUI Сумасшедшего Эдди ( 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 , движка OGRE 3D и движка Irrlicht . Другие модули могут быть написаны для собственных движков.
Компоненты графического интерфейса пользователя CEGUI организованы в виде дерева (графа) [5] и отображаются в порядке обхода дерева.
Управление ресурсами [ править ]
Загрузка файлов и управление ресурсами осуществляется через внутренний «модуль поставщика ресурсов». Пользователи могут создавать собственные модули, чтобы определять способ доступа к ресурсам. Это позволяет использовать библиотеку практически в любой операционной среде. Поставщик ресурсов по умолчанию является кроссплатформенным и предоставляет стандартные механизмы доступа к файлам для загрузки ресурсов. Дополнительный модуль minizip позволяет загружать ресурсы из zip-архивов.
Управление памятью [ править ]
CEGUI имеет гибкую систему управления памятью . Эта система была основана на OGRE и позволяет клиентам сопоставлять разные типы распределителей памяти с разными типами объектов. По умолчанию все объекты используют распределитель по умолчанию операционной системы. CEGUI обеспечивает поддержку распределителей OGRE и nedmalloc .
Сценарии [ править ]
CEGUI имеет дополнительный модуль сценариев серверной части . Модули сценариев Lua и Python предоставляются CEGUI. Полный интерфейс прикладного программирования (API) CEGUI доступен через скрипт, так что клиенты могут создавать окна, определять отношения и обрабатывать события в скриптовой среде.
Посмотрите и почувствуйте [ править ]
CEGUI имеет мощную систему для определения внешнего вида различных виджетов . Система, названная Falagard, позволяет определять внешний вид виджета через файлы XML или код C ++, если пользователь предпочитает. Он также может изменить поведение макета любых виджетов.
Анимация [ править ]
CEGUI имеет встроенную систему анимации. Эта система позволяет использовать множество стандартных переходных эффектов от перемещения окон и изменения их размеров до преобразования цвета и последовательности изображений. Анимации могут быть определены в XML и запускаться любым событием. Клиент может указать свойства окна как ключевые кадры, способ перехода между кадрами и время перехода между кадрами.
Юникод [ править ]
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 ) | Кодек изображения по умолчанию, который основан на библиотеке SILLY. Поддерживает множество форматов. [6] |
Дьявол | Кодек изображений на основе библиотеки DevIL. | |
FreeImage | Кодек изображений на основе библиотеки FreeImage. | |
ОГРЭ | Кодек изображения, который загружает данные с помощью средств загрузки изображений OGRE. | |
Модуль поставщика ресурсов | Дефолт | Внутренний поставщик ресурсов CEGUI можно использовать без дополнительного модуля. Он использует стандартный кроссплатформенный доступ к файлам. |
ОГРЭ | Пользователи Ogre могут использовать CEGUI Ogre ResourceManager. Таким образом, расположение ресурсов CEGUI можно указать точно так же, как это уже сделано для ресурсов Ogre. | |
minizip | MinizipResourceProvider CEGUI позволяет предоставлять возможность загружать файлы ресурсов из мест в файлах .zip. | |
Модуль синтаксического анализа XML | Эмигрант | XML-парсер CEGUI по умолчанию. Использует библиотеку Expat для синтаксического анализа 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. |
недмаллок | nedmalloc может дополнительно использоваться как распределитель памяти. | |
Двунаправленный языковой модуль | MiniBIDI | Реализация визуального отображения Bidi CEGUI на основе MiniBIDI. |
FriBIDI [8] | Реализация визуального отображения Bidi CEGUI на основе FriBIDI. |
Библиотека 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 |
См. Также [ править ]
- Список наборов инструментов для виджетов
- Список платформо-независимых библиотек GUI
Ссылки [ править ]
- ^ 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/
Внешние ссылки [ править ]
- Официальный веб-сайт