Author - @lcomstive | GitHub
All releases of the editor can be found here.
Currently the only way to implement the engine in your own application is to build from source. This can be done by cloning or adding the repository as a submodule.
When cloning remember to get submodules. On the command line this can be done using the
--recurse-submodules
flag.
CMake is used for cross-platform project generation.
Inheriting from Yonai::Application
provides basic functionality, or you can use Yonai::WindowedApplication
for
a graphical application.
class DemoApplication :
public Yonai::WindowedApplication
{
public:
// Application is being created
// [from Yonai::Application]
void Setup() override;
// Application is shutting down
// [from Yonai::Application]
void Cleanup() override;
// Called once per frame, prior to drawing
// [from Yonai::Application]
void OnUpdate() override;
// Called once per frame, after update
// [from Yonai::WindowedApplication]
void OnDraw() override;
};
int main(int argc, char** argv)
{
// Create instance of app
DemoApplication app;
// If DemoApplication inherits from Yonai::Application
app.ProcessArgs(argc, argv);
// Start the game loop
app.Run();
// Exit application
return 0;
}
-
- Core Engine
- Custom "hybrid ECS" style systems
- Centralised resource management
- Components & Systems
- 2D Sprite & 3D Mesh renderers
- FPS-style camera movement
- Graphics
- Debugging
- Logging to console & file
- Core Engine
-
- Graphics
- Texture Maps (normal, diffuse, specular)
- Scripting - C#
- Communication between managed & unmanaged code (C++ <-> C#)
- A core C# library - AquaScriptCore
- Reloadable scripting engine support
- Graphics
-
- Core Engine
- Asset database
- Scene serialization
- Graphics
- Instancing
- Shadow mapping
- Particles
- Rigged Animations
- Physics
- Third party 2D physics library - Box2D
- Third party 3D physics library - TBD
- Core Engine
Dependencies are installed using VCPKG during the CMake configuration step.
This project is released under the MIT license, and can be found in the LICENSE file.
- Assimp License
- Glad
- GLFW3 License
- GLM License
- GoogleTest License
- ImGUI License
- Mono License
- SPDLog License
- STB License
- VCPKG License
Feel free to contact me at lewiscomstive@gmail.com with any questions or feedback.
Please contact me for removal if you or your resources are in this section and you do not want them to be.