The engine contains four basic modules.
- Editor — Game Engine Editor.
- Engine — Carrying the core logic of rendering and game architecture.
- EngineDLL — Exposed Engine API to Editor.
- EngineTest — Test Engine features like rendering, game architecture, etc.
- GameCode/GameProject(Generate by editor) — Gameplay logic.
- Only support Windows now. (Cross platform is in planning).
- Engine/GameProject has four Configuration: Debug, DebugEditor, Release, ReleaseEditor:
- DebugEditor/ReleaseEditor ouputs DLL,which will be used for editor
- Debug/Release output exe.
- XML Serialization
- Undo/Redo Pattern
- Logger & Filtered log viewer
- Generate game Solution/Project by EnvDTE(Visual Studio automation) ,and Rider automation is WIP.
- After the engine creates the project, generates the game code directory framework, generates .sln/.vcxproj, and sets the engine path environment variable.
- Generate script code after create Script in editor.
- Build Game Code in editor.
- Data-oriented
- Transform/Script component.
-
d3dx12.h
like helper function/struct. -
Use Split Barrier help to improve performance, especially in multi-engine scenarios or where resources are read/write transitioned sparsely throughout one or more command lists. Reference: Split Barriers
-
Cache-Friendly
-
Use HLSL Dynamic Resources(Shader Model 6.6 Features). Reference