Skip to content

Releases: SpaRcle-Studio/SREngine

SpaRcle Engine v0.0.7

22 Apr 22:20
f992d3f
Compare
Choose a tag to compare
SpaRcle Engine v0.0.7 Pre-release
Pre-release

image

RU Список изменений

Нововведения:

  • Реализованы компоненты AudioListener и AudioSource для работы с аудио.
  • Добавлена кросс-платформенная библиотека fmtlib для красивого и удобного вывода логов.
  • Реализована отрисовка отладочных мешей.
  • Реализован Transform2D, реализованы Anchor и PositionMode для настройки UI.
  • Добавлена кнопка над сценой для подключение к PhysX Visual Debugger. Теперь движок никогда не пытается к нему подключиться во время инициализации физики.
  • Добавлена статистика сборки CI.
  • Добавлены бейджи активности коммитов и discord.
  • Реализована удобная система свойств компонентов.
  • Реализован StringAtom. Шейдеры и материалы теперь используют его вместо std::string.
  • Добавлен framebuffer viewer в редактор.
  • Добавлена кроссплатформенная хеш-функция, так как оказывается стандартный std::hash выдает разный хеш на разных компиляторах и платформах.
  • В окне иерархии теперь есть возможность горизонтального скролла.
  • Добавлена возможность не сохранять сущности, такие как компоненты и игровые объекты. Полезно для редактора.
  • Реализован собственный Gizmo средствами движка, отказ от ImGuizmo. Теперь Gizmo работает для UI. Его так же можно использовать для игр, так как является игровым компонентом.
  • Добавлен EntityRefProperty для компонентов. Компоненты теперь используют систему свойств и не требуют force-миграции.
  • Реализована система слоев для игровых объектов, переписана отрисовка с MeshCluster на RenderStrategy + MeshDrawerPass.
  • Реализованы новые и исправлены некоторые из существующих фичей: ClearDepthPass, CascadedShadowMapPass и т. д.
  • Добавлена система для работы с сетями, реализован TCP протокол, частично сделан P2P.
  • Добавлена реализация широких целых чисел (uint256_t и т.д.).
  • Добавлено окно для удобной отладки ошибок рендера на сцене, а так же просмотра статистики рендера.
  • Добавлена система оверлеев, теперь ImGui это оверлей.
  • Добавлены Sliced-Image для UI.
  • Добавлен конфигурационный файл с подсветкой синтаксиса для SRSL в CLion.
  • Добавлена возможность отмены и возврата действий в Transform инспектора.
  • Добавлены FileWatchers для отслеживания изменений файлов.
  • Добавлено автоматическое закрытие Issue с падением сборки, после успешного билда.
  • Добавлена упаковка критически важных для работы двикжка файлов в исполняемый файл.
  • Теперь движок ялвяется полностью portable и не имеет динамических библиотек.

Исправления:

  • Исправлены многочисленные падения при работе в редакторе.
  • Исправлена чистка буфера Stacktrace, ранее она не производилась и текст наслаивался друг на друга.
  • Исправлена проверка изменений файлов, теперь сперва проверяются мета-данные, и только потом вычисляется хеш.
  • Исправлена загрузка тегов игровых объектов.
  • Исправлено сохранение EntityRef.
  • Исправлена вставка не текстового содержимого в редакторе.
  • Исправлено открытие файлов в приложениях по умолчанию.
  • Исправлена неправильная обработка пути в PhysicsMaterialEditor.
  • Исправлена миграция, ломающая сцены.
  • Исправлено несколько проблем с многопоточностью -> исправлена многоэкземплярность синглтонов под компилятором GCC.
  • Исправлена возможность инъекции команд.
  • Улучшен алгоритм выбора графического девайса GPU.
  • Исправлена утечка памяти SharedPtr. Теперь при обнаружении утечек памяти будут выводиться логи.

Рефакторинг:

  • Полный переход с легаси графического конвейера Environment на нововведенный Pipeline.
  • Директория Utils стала сабмодулем. Создан репозиторий SRCommon. Это очень полезный репозиторий для любого проекта, так как он содержит математику, хеширование, сериализацию, реализацию синглтонов и т.д.
  • Директория Graphics стала сабмодулем. Создан репозиторий SRRenderer.
  • Переименованы старые header include guards.
  • Оптимизировано обновление сцены.
  • Проведен рефакторинг внутренней имплементации Behaviour.
  • Проведен рефакторинг и фикс кнопки Exit в EditorGUI.cpp
  • Проведен рефакторинг инспектора и добавлена дополнительная информация.
  • Убраны лишние virtual в местах, где методы уже помечены override.
  • Полностью убраны старые неймспейсы Framework и Helper. Теперь они везде называются SpaRcle и Utils.
  • Улучшена внутрення реализация Rigidbody.
  • Произведен полный рефакторинг CI.

В разработке:

  • Начата реализация поддержки Linux. В данный момент мы занимаемся имплементацией поддержки окон X11.
  • Была попытка реализовать свою систему Blueprint'ов, но она провалилась из-за отсутствия нормального редактора.
  • Ведутся активные работы по переходу с ImGui на нашу собственную систему UI, постепенно добавляются фичи для 2D графики.

Main changes:

  • Implemented AudioListener and AudioSource components for working with audio.
  • Added cross-platform library fmtlib for nice and convenient output of logs.
  • Implemented rendering of debug meshes.
  • Implemented Transform2D, implemented Anchor and PositionMode for UI customization.
  • Added button above the scene to connect to PhysX Visual Debugger. Now the engine never tries to connect to it during initialization of physics.
  • Added CI build statistics.
  • Added commit and discord activity badges.
  • Implemented a convenient system of component properties.
  • Implemented StringAtom. Shaders and materials now use it instead of std::string.
  • Added framebuffer viewer to editor.
  • Added cross-platform hash function, since std::hash produces different hashes on different compilers and platforms.
  • Hierarchy widget now supports horizontal scrolling.
  • Added option to not save entities such as components and game objects. Useful for the editor.
  • Implemented engine's own Gizmo which is now used instead of ImGuizmo. Now Gizmo works for UI. It can also be used for games, as it is a game component.
  • Added EntityRefProperty for components. Components now use property system and do not require force-migration.
  • Implemented layer system for game objects, refactored rendering from MeshCluster to RenderStrategy + MeshDrawerPass.
  • Implemented new and fixed some of the existing features: ClearDepthPass, CascadedShadowMapPass, etc.
  • Added asio library and some of the network logics, implemented TCP protocol, partially implemented P2P.
  • Added implementation of wide integers (uint256_t, etc.).
  • Added a window for convenient debugging of render errors on the scene, as well as viewing render statistics.
  • Added overlay system, now ImGui is an overlay.
  • Implemented SlicedImage UI component.
  • Added syntax highlighting configuration file for SRSL in CLion.
  • Added ability to undo and revert actions in Transform inspector.
  • Added FileWatchers to track file changes.
  • Added automatic closing of GitHub Issues caused by an unsuccessful build, after a successful build.
  • Added embedding of critical files for the engine's runtime into the executable file.
  • The engine's executable is now fully portable and has no dynamic libraries.

Fixes:

  • Fixed numerous crashes when working in the editor.
  • Fixed Stacktrace buffer cleaning, previously it was not performed and text was layered on top of each other.
  • Fixed checking if a file was changed. Now metadata is checked first, and only then hash is calculated.
  • Fixed loading of game object tags.
  • Fixed EntityRef saving.
  • Fixed inserting of non-text content in the editor.
  • Fixed opening files in default applications.
  • Fixed incorrect path handling in PhysicsMaterialEditor.
  • Fixed scene breaking on migration.
  • Fixed several multi-threading issues -> fixed multi-existence of singletons under the GCC compiler.
  • Fixed the ability to inject commands.
  • Improved GPU graphics device selection algorithm.
  • SharedPtr memory leak fixed. Now logs will be displayed when memory leaks are detected.

Refactoring:

  • Complete transition from the legacy Environment graphics pipeline to the new Pipeline.
  • Utils directory became a sub-module. SRCommon repository was created. This is a very useful repository for any project as it contains math, hashing, serialization, singleton implementation, etc.
  • Graphics directory became a sub-module. SRRenderer repository created.
  • Renamed old header include guards.
  • Optimized scene update.
  • Behaviour internal implementation was refactored.
  • Refactoring and fixing of the Exit button in EditorGUI.cpp.
  • Refactoring of the inspector and adding additional information.
  • Removed unnecessary virtual in places where methods are already marked override.
  • Completely removed old Framework and Helper namespaces. Now they are called SpaRcle and Utils everywhere.
  • Improved internal implementation of Rigidbody.
  • Complete refactoring of CI.

In development:

  • Linux support has been started. We are currently working on implementation of X11 windows support.
  • There was an attempt to implement our own Blueprints system, but it failed due to the lack of a normal editor.
  • We are actively working on transition from ImGui to our own UI system, implementing features for 2D graphics.

What's Changed

Full Changelog: release/0.0.6...release/0.0.7

SpaRcle Engine v0.0.6

18 Sep 16:31
9567b50
Compare
Choose a tag to compare
SpaRcle Engine v0.0.6 Pre-release
Pre-release

Нововведения:

  • Добавлен редактор физических материалов
  • Доработаны и оптимизированы каскадные карты теней
  • Проходы рендера теперь могут работать с буфером глубины и трафарета
  • Проходы рендера теперь могут использовать несколько слоев рендера
  • Технологии рендера могут управлять построением графической очереди на низком уровне
  • В SRSL был добавлен механизм инклудов
  • В SRSL были добавлены push-contant'ы
  • Добавлен компонент AudioSource для воспроизведения звуков
  • Добавлена в редактор возможность открывать префабы из иерархии
  • Добавлен механизм отслеживания файлов FileWatcher
  • Добавлен язык визуального программирования SRLM
  • Заложен механизм для реализации оверлеев
  • В SceneViewer теперь можно выбирать источник разрешения экрана
  • Добавлена возможность перезагрузки движка без завершения процесса
  • Добавлена миграция для Transform
  • Улучшен EnumReflector, теперь можно получить его экземпляр для абстрактного взаимодействия
  • Во вкладку статистики добавлена информации о графических очередях и видео памяти
  • Улучшен внешний вид редактора префабов
  • Добавлена кнопка возврата из префаба обратно на сцену
  • Начата работа над лаунчером
  • Начата работа над Anchor

Исправления:

  • Исправлены падения в релиз билде из версии 0.0.5 при выделении объектов
  • Исправлены проблемы само-затенения
  • Исправлены случайные падения при быстром перезапуске сцены
  • Исправлена работа Stretch в Transform2D
  • Вставка объектов в иерархию теперь обратима
  • Оптимизированы скелетные анимации
  • Оптимизация скелета в статике
  • Исправлена утечка памяти шейдерных программ при удалении камеры
  • Теперь все Singleton'ы уничтожаются при закрытии приложения

Рефакторинг:

  • Макрос SR_POW теперь использует std::pow, добавлен SR_SQARE
  • Рефакторинг Sprite2D, теперь это Sprite
  • Рефакторинг сохранения сцен
  • Рефакторинг main.cpp, теперь вся логика в классе Application
  • Рефакторинг графического интерфейса
  • Рефакторинг взаимодействия с ImGui
  • Рефакторинг графического конвейера
  • Был удален старый CrashHandler

What's Changed

Full Changelog: Monika0000/SREngine@master@{1day}...master

SpaRcle Engine v0.0.5

03 Jun 20:54
bb2a307
Compare
Choose a tag to compare
SpaRcle Engine v0.0.5 Pre-release
Pre-release

Нововведения:

  • Интегрирована библиотека tracy
  • Добавлено переключение мультисемплинга "на лету"
  • Оптимизация перезагрузки ресурсов
  • Добавлена возможность работы с текстом
  • Добавлен EntityRef
  • Переведен SkinnedMesh на EntityRef
  • Реализован undocking окон из основного окна
  • Настроена автосборка через Github Actions
  • Начата работа над продвинутыми анимациями
  • Добавлено символьное связывание префабов
  • Добавлена поддержка скелетов с большим числом костей
  • Добавлена кнопка сброса окон редактора
  • Добавлена горячая перезагрузка моделей
  • Меш больше не является файловым ресурсом
  • Добавлены перезагрузчики для ресурсов
  • Оптимизация скриптов, использование одного экземпляра
  • Кеширование последней сцены
  • Спиральная загрузка чанков
  • Добавлен raycast для физики
  • Оптимизация компиляции скриптов
  • Проведен рефакторинг шейдерного языка SRSL
  • Добавлено кеширование моделей assimp'а
  • Добавлена кнопка back для префабов
  • Редизайн кнопок иерархии
  • Префабы теперь отображаются разными цветами в иерархии

Исправления:

  • Исправлены падения при ошибках в скриптах
  • Исправлено сохранение положения камеры при запуске сцены
  • Исправлено падение при комбинации клавиш Win + D
  • Исправлены проблемы с многопоточностью
  • Исправлено обновление дерева сцены
  • Исправлены многочисленные мелкие проблемы в архитектуре

What's Changed

Full Changelog: Monika0000/SREngine@v0.0.4...v0.0.5

SpaRcle Engine v0.0.4

11 Feb 21:11
b585e78
Compare
Choose a tag to compare
SpaRcle Engine v0.0.4 Pre-release
Pre-release

Нововведения:

  • Добавлен проход рендера цветового буфера
  • Добавлен проход рендера SSAO
  • Добавлен проход рендера пост-процессинга
  • Добавлен проход рендера кадрового буфера
  • Добавлена возможность выбора объектов в редакторе кликом по ним
  • Добавлена возможность выключения буфера глубины
  • Добавлен рендер текста и эмодзи
  • Портирование сборки под андроид (только сборка)
  • Улучшена работа и настраиваемость физики
  • Добавлена возможность обработки столкновений в скриптах
  • Добавлены триггеры
  • Добавлена система миграции сцены
  • Добавлена система тегов игровых объектов
  • Полностью переписан SRSL, множество нововведений и исправлений, предусмотрена легкая расширяемость
  • Добавлены скелетные анимации
  • Добавлена иконка исполняемому файлу
  • Добавлен счетчик кадров в редакторе
  • Сцена теперь может иметь компоненты
  • Добавлены префабы и их редактор (отдельная спец-сцена)
  • Добавлена отложенная загрузка компонентов
  • Добавлено сохранение последнего местоположения камеры редактора
  • Добавлена горячая перезагрузка шейдеров

Исправления:

  • Рефакторинг оконной системы
  • Новый более оптимальный способ обновления сцены
  • Исправлено удаление кэшированных регионов
  • Добавлена очередь сцен, что исправило множество проблем с перезагрузкой и запуском сцены
  • Исправлено освобождение памяти скайбокса
  • Оптимизация хранения информации о сцене в игровых объектах
  • Оптимизация ресурсной системы
  • Оптимизация скорости сохранения и загрузки сцены
  • Оптимизация матричных вычислений, уменьшен числовой тип с double на float

What's Changed

Full Changelog: Monika0000/SREngine@v0.0.3...v0.0.4

SpaRcle Engine v0.0.3

04 Oct 05:32
013fba2
Compare
Choose a tag to compare
SpaRcle Engine v0.0.3 Pre-release
Pre-release

SpaRcle Engine v0.0.3.zip

Нововведения:

  • Добавлен компонент Rigidbody, есть возможность использовать 2 типа физических объектов (Sphere3D и Cube3D)
  • Добавлен процедурный меш
  • Добавлена возможность отмены использования guizmo
  • Добавлены отладочные классы DebugDraw + DebugRenderer. Можно рисовать линии, кубы и сферы
  • Новая более качественная дефолтная текстура
  • Отложенная загрузка компонентов
  • Новые математические функции для расчета шумов Перлина
  • Улучшение функционала FileBrowser

Исправления:

  • Исправлены блокировки осей при использовании углов Эйлера
  • Исправлен запуск под видеокартой GTX 1050 Ti
  • Переделана структура модулей движка в более удобную
  • Исправлена рассинхронизация между несколькими камерами
  • Исправлены утечки памяти при череде быстрых выделений дескрипторов
  • Исправлен краш при перезагрузке скриптов с ошибкой компиляции
  • Исправлена выгрузка объектов при выходе их за пределы области загрузки
  • Оптимизации рендера
  • Оптимизация дерева объектов и компонентов
  • Оптимизация иерархических трансформаций

SpaRcle Engine v0.0.2

08 Aug 06:21
Compare
Choose a tag to compare
Pre-release

SpaRcleEngine.zip

Нововведения:

  • Добавлена новая система рендера с возможностью полной кастомизации,
  • Закончена иерархическая трансформация объектов,
  • Добавлена поддержка прозрачной геометрии,
  • Добавлена поддержка кадровых буферов,
  • Доработано окно сцены,
  • Добавлены 2д спрайты,
  • Расширен функционал файлового проводника,
  • Добавлена возможность замены мешей.

Исправления:

  • Объединен основной поток движка и поток рендера для большей стабильности,
  • Оптимизация применения материалов,
  • Исправлена синхронизация выгрузки ресурсов,
  • Исправлен краш при смене материала с разными шейдерами.

Незакончено:

  • Трансформация 2д графики,
  • Оптимизация файлового проводника,
  • Базовая физика.

SpaRcle Engine v0.0.1

15 Jun 05:07
f6f2073
Compare
Choose a tag to compare
SpaRcle Engine v0.0.1 Pre-release
Pre-release