Entix’s application entry point#
Important
All code written on top of Entix Engine should be placed to namespace Entix
Game entry-point#
At start of development you should provide entry point to engine by writing following code:
1#include <Entix/Game/EntryPoint.h>
2
3namespace Entix
4{
5 ApplicationDesc CreateApplication()
6 {
7 return ApplicationDescBuilder()
8 .Build()
9 .Unwrap();
10 }
11}
The Entix::CreateApplication() are called inside Entix::Main() to create new application from your description.
See also
Application and ApplicationDesc classes page for more info about Entix::Application, Entix::ApplicationDesc and Entix::ApplicationDescBuilder.
Game entry-point are used for simplicity and “sugar”. A lot of work are done for you with Entix::Application. In Entix::ApplicationDesc you can specify a lot of things.
ApplicationDesc builder class
#include <Entix/Game/Application.h>-
class ApplicationDescBuilder#
Public Functions
-
ApplicationDescBuilder() = default#
-
~ApplicationDescBuilder() = default#
- inline EX_FORCE_INLINE ApplicationDescBuilder & SetCLIArgs (int argc, char **argv)
- inline EX_FORCE_INLINE ApplicationDescBuilder & SetName (const String &name)
- inline EX_FORCE_INLINE ApplicationDescBuilder & SetDescription (const String &desc)
- inline EX_FORCE_INLINE ApplicationDescBuilder & SetVersion (const Version &version)
- inline EX_FORCE_INLINE ApplicationDescBuilder & SetRHIBackendAPI (const RHI::BackendApi &api)
- inline EX_FORCE_INLINE ApplicationDescBuilder & SetThreadCount (Usize count) noexcept
- inline EX_FORCE_INLINE ApplicationDescBuilder & EnableResourceHotReload () noexcept
- inline EX_FORCE_INLINE ApplicationDescBuilder & SetGPUSortFunction (std::function< bool(const RHI::GpuInfo &, const RHI::GpuInfo &)> callback)
- inline EX_FORCE_INLINE ApplicationDescBuilder & SetGPUCapabilitiesCallback (std::function< bool(const RHI::GpuInfo &)> callback)
- inline EX_FORCE_INLINE Result< ApplicationDesc > Build ()
-
ApplicationDescBuilder() = default#
Raw entry-point#
If you don’t need built-in Entix::Application class you can write your own things in “raw” entry-point provided by Entix Runtime.
Difference are between included headers and functions.
Instead of Entix/Game/EntryPoint.h you need to include Entix/Core/EntryPoint.h and write following code:
1#include <Entix/Core/EntryPoint.h>
2
3namespace Entix
4{
5 int Main(int argc, char** argv)
6 {
7 return 0;
8 }
9}
Note
The Entix::Main() are called inside platform-specific entry-point.
Windows variant:
Linux variant: