Главный двигатель
C ++ 3D -двигатель разработан во время степени магистра в области разработки видеоигр AAA

Основные моменты
- Создать, сохранить и загрузить сцены.
- Создайте GameObjects и измените их поведение с помощью компонентной системы.
- Исследуйте сцену, используя камеру, похожей на единство.
- Настройте различные свойства двигателя: рендеринга, управление временем, ...
Установка
- Загрузите последний релиз (или любой выпуск, который вы хотите) из раздела релизов.
- Извлекать
Build.zip . - Выполнить
LittleOrionEngine.exe .
Использование
Пожалуйста, обратитесь к нашей вики, чтобы узнать, как использовать двигатель.
Настройка разработки
Для того, чтобы сделать это, чтобы у вас есть следующее:
- Компьютер.
- Графическая карта с поддержкой OpenGL.
- VisualStudio 2017 или выше.
Внося
Поскольку это академический проект невозможно внести непосредственный вклад в это репо. Сказал это, не стесняйтесь разжигать его (https://github.com/unnamed-company/littleorionengine/fork) и расширить его по-своему!
Авторы
Марио Фернандес Вильялба
| Анабель Эрнандес Баррера
| Энрике Александр Гонсалес Секейра
| Джоан Джинард Матео
| Джорди Саурас
| Джорди Ромагоса
| Тони Феррари Хуан
|
Луис Мойано
| Марко Родригес
| Артемида Георгакопулу
| Pau Casas Garcia
| Рауль Гонсалес
| Рикард Виво
| Видал Мелеро
|
Методология разработки
Этот проект был разработан после философии гибких методологий. Если вы заинтересованы в том, чтобы узнать распределение задач, не стесняйтесь посетить нашу доску Trello!
Построен с
- SDL 2.0 - используется для управления созданием и вводом окна.
- GLEW 2.1.0 - используется для управления расширениями OpenGL.
- Mathgeolib 3.0.0 - используется для математики.
- Уважаемый Imgui 1.73 - используется для строительства графического интерфейса.
- Imgui FileBrowser - используется для открытия файлового каталога с IMGUI.
- Дьявол 1.8 - используется для загрузки изображений.
- Assimp 5.0 - используется для загрузки 3D -моделей.
- Font Awesome 5 - используется для отображения модных значков.
- Заголовки шрифта шрифта икона - используется для импорта шрифтов Awesome значки в C ++.
- PCG - используется для генерации хороших случайных чисел в C ++.
- Rapidjson 1.1.0 - используется для обработки файлов JSON.
- Debug Draw - используется для рисования основных форм.
- PAR_SHAPES - используется для генерации основных примитивов.
- Imguizmo - используется для рисования Gizmos.
- Physfs 3.0.2 - используется для управления файловой системой.
- Физика пули - используется для имитации физики.
- Spdlog - используется для регистрации вещей.
Лицензия
Этот проект лицензирован по лицензии MIT - для получения подробной информации см. Файл лицензии.
История выпуска
- [1.0.1] ошибочно пострадая от ошибок и полировки
- Много исправлений ошибок.
- Настраивали элементы управления, чтобы дать наилучший пользовательский опыт.
- Улучшение производительности при загрузке ресурсов.
- [1.0.0] V1.0.0. Выпуск здесь!
- Сетчатые материалы. У этого есть свой собственный материал, который хранит разные текстуры и параметры света.
- Новый
ComponentLight , который представляет источник света для сцены. Он используется вдоль сетчатых материалов. - Мышиный выбор. Игровые объекты могут быть выбраны, нажимая на них в окне сцены.
- Гизмос. Они используются для изменения преобразования выбранного объекта.
- [0.2.2] двоичные файлы и сериализация сцены
- Лучшее управление ресурсами.
- Активы преобразуются в меньший космический формат.
- Новый кэш, который избегает дублирования ресурсов.
- Сериализация сцены, которая позволяет загружать и сохранить сцены.
- [0.2.1] Ускоряет двигатель!
- Новый модуль ModuleCamera. Он содержит камеру, которые можно прикрепить к GameObjects.
- Две новые вкладки, сцена и игра. Первый содержит сцену, увиденную с камеры редактора, в то время как позже содержит сцену, увиденную из игровой камеры.
- Rustum отбрасывает. С этим улучшением сетки, которые являются внешними камерами, выброшены в процессе рендеринга.
- Камера четкие режимы. Камера может быть очищена в Skybox или простой цвет.
- Текстура отображается с использованием текстуры вместо примитивов OpenGL.
- Quadtree и Octtree. С этим улучшением мы можем еще больше ускорить процесс рендеринга, уменьшив количество чеков.
- Новый модуль moduledebug. Он содержит полезные функции отладки.
- [0.2.0] и были GameObjects
- GameObjects входят. Каждый GameObject представляет собой сущность, которая может быть изменена с использованием компонентов.
- Компоненты - это объекты, которые содержат разные части объектов, такие как сетки, материалы и т. Д.
- Новое окно иерархии, которое представляет иерархию сцены GameObject.
- Обновленное окно свойств. Здесь параметры компонентов могут быть изменены.
- [0,1,5] Окончательная версия 0,1 (это единственная учителя)!
- Исправлены различные ошибки.
- Несколько рефакторов, чтобы следовать хорошей практике C ++.
- Супер крутой readme.
- [0.1.4] Новый журнал, подготовка к окончательной 0,1 альфа -версии!
- Обновленный журнал. Он отображает сообщения более четким и читаемым способом.
- Сообщения отладки захвачены из Assimp и OpenGL.
- Отфильтруйте сообщения Soruce!
- Текстура модели может быть перезаписана перетаскивание и сброс файла PNG в окно двигателя.
- [0.1.3] WOW UI, так много вариантов конфигурации
- Новый великолепный графический интерфейс.
- Множество новых параметров конфигурации для различных модулей (камера, рендеринг, ...).
- Сцена отображается в отдельном окне.
- Свойства модели показаны в новом окне.
- Скорость камеры и фокус рассчитываются в отношении загруженного размера модели.
- [0.1.2] Время начинает течь, в горизонте показывает надвигающийся новый графический интерфейс ...
- Добавлен модуль времени, который контролирует поток времени. Он реализует два часа, часы в реальном времени и игровые часы.
- Время может быть приостановлено и ступенька Foward One Frame. Также масштаб времени может быть изменена.
- FPS может быть ограничен.
- Запустил новую реализацию GUI. Добавлена новая информация в конфигурацию камеры.
- [0.1.1] Речь идет о загрузке модели и камере
- Улучшенная загрузка модели. Возможно загружать модели, перетаскивающие и сбрасывая свои файлы .fbx в окно двигателя. Камера будет соответственно масштабироваться до новых размеров модели.
- Улучшение управления камерой. Нажатие F будет сосредоточить камеру на загруженной модели. Кроме того, нажатие Alt сделает орбиту камеры вокруг текущей модели.
- Добавлен ограничивающая коробка. Нажатие B включит/отключить ограничивающую коробку текущей модели.
- [0.1.0] Здесь идет базовая версия!
- Он может загружать модели из файлов FBX, используя диффузную текстуру.
- Камера можно контролировать в стиле единицы.
- Двигатель имеет базовый пользовательский интерфейс с несколькими вариантами конфигурации и отладки.