Компоненты игрового движка
Репозиторий представляет набор различных компонентов и техник используемых при разработке игровых движков. Смысл данного репозитория прежде всего заключается в обкатке и тестировании, а также в том, чтобы создать некий справочник.
Содержимое
Ниже представлен список либо существующих, либо планируемых примеров. Репозиторий может периодически пополняться новыми примерами.
- Базовый рендеринг OpenGL (набор базовых примеров, от треугольника до сцены из нескольких мешей и свободной камеры)
- Система компонентов (entity component system)
- Система событий (event system)
- Управление ресурсами (resource management)
Сборка
Сделан упор на кроссплатформенность, по этой причине репозиторий не тащит с собой бинарники различных библиотек, вместо этого предлагается использовать пакетный менеджер Conan. Он установит все нужные библиотеки, которые будут соответствовать конкретно вашей среде разработки и сборки.
Ниже идет инструкция по сборке, которая предположительна должна быть актуальна для любой платформы (Windows, Linux, MacOS)
Системные требования к сборке
- CMake (должен быть добавлен в PATH)
- Python (должен быть добавлен в PATH)
- Пакетный менеджер python - pip (введите
pip
в командной строке для проверки доступности, обычно устанавливается вместе с python) - Conan (устанавливается командой команда
pip install conan
, должен быть добавлен в PATH, доступность проверяется командойconan
) - IDE с поддержкой CMake (CLion, Visual Studio 2022, Visual Studio Code + CMake tools)
Инструкция
- Если это первое использование conan, вам необходимо создать профиль, который будет содержать в себе информацию о вашей системе сборки (компилятор, ОС, архитектура и т.д). Для этого введите
conan profile detect
, после чего будет создан файл профиля (обычно в директории<папка-пользователя>/.conan2/profiles
) - В каталог с профилями могут быть добавлены и другие файлы профилей (созданные вручную). Если не достаточно профиля по умолчанию, можете создать свои профили, список всех настроек профиля можно найти здесь
- Перейдите в каталог проекта, запустите следующую команду
conan install . -pr <название вашего профиля> -b missing
. Если вы не создавали своих профилей, то в качестве названия профиля можно указать default либо вовсе не указывать параметр -pr. Параметр -b missing соберет необходимые отсутствующие для загрузки бинарники. - После выполнения команды (пере)запустите конфигурацию основного CMake проекта (при помощи IDE или команды)
Внимание!
На системах Linux некоторые пакеты conan могут нуждаться в системных пакетах. Для того чтобы conan инициировал их автоматическую установку необходимо в профиле указать следующее:
[conf]
tools.system.package_manager:mode=install
На некоторых дистрибутивах могут возникнуть сложности при автоматической установке системных пакетов из-за нехватки прав доступа. В таком случае можно попробовать установить отсутствующие зависимости вручную от имени sudo пользователя, после чего повторить установку пакетов conan (список отсутствующих системных пакетов, скорее всего, будет предоставлен в сообщении об ошибке). Если это не сработало - можно установить conan (
pip install conan
) в том числе и для root пользователя, а затем, единожды запустить командуconan install
для вашего проекта от имени root), после чего, очистить генерированные файлы (папка build и файлы CMakeUserPresets.json, это можно будет сделать только с root правами) и перезапустить установку conan пакетов уже от обычного пользователя.
Описание
Репозиторий представляет набор различных компонентов и техник используемых при разработке игровых движков. Смысл данного репозитория прежде всего заключается в обкатке и тестировании, а также в том, чтобы создать некий справочник.