class
Application
Primary entry point for the framework.
Handles startup and shutdown.
Public
Constructors
Application
Application
Methods
~Application
RunMainLoop
Executes the main loop.
This will update your components and modules, queue objects for rendering and run the simulation. Usually called immediately after startUp().
This will run infinitely until stopMainLoop is called (usually from another thread or internally).
StopMainLoop
Stops the (infinite) main loop from running.
The loop will complete its current cycle before stopping.
IsMainLoopRunning
SetFpsLimit
Changes the maximum FPS the application is allowed to run in.
Zero means unlimited.
NotifyQuitRequested
Issues a request for the application to close.
Application may choose to ignore the request depending on the circumstances and the implementation.
BeginMainLoop
Call before the first time runMainLoopFrame is called
EndMainLoop
Call after the last time runMainLoopFrame is called
RunMainLoopFrame
Alternative to runMainLoop, processes one step at a time
WaitUntilFrameFinished
Waits until previous frame is complete
GetPrimaryWindow
Returns the main window that was created on application start-up.
GetPrimaryGpuDevice
Returns the primary GPU on which to perform rendering.
GetMainThreadId
Returns a unique identifier of the main thread.
IsEditor
Returns true if the application is running in an editor, false if standalone.
GetApplicationCache
Returns cache for storing application-wide data that persists application reset.
GetTaskScheduler
Returns the scheduler on which you can queue tasks on for execution on worker threads.
GetMainThreadScheduler
Returns the scheduler responsible for running tasks on the main thread.
ShowProfilerOverlay
Shows the profiler overlay.
HideProfilerOverlay
Hides the profiler overlay.
LoadPlugin
Loads a plugin.
- pluginName
- Name of the plugin to load, without extension.
- passThrough
- Optional parameter that will be passed to the loadPlugin function.
Returns: Value returned from the plugin start-up method.
UnloadPlugin
Unloads a previously loaded plugin.
UnloadAllPlugins
Unloads all loaded plugins.
staticBuildCreateInformation
Builds the start-up descriptor structure, filling out the provided parameters and using the default values for the rest.
staticInstance
Returns a reference to the module instance.
Module has to have been started up first otherwise an exception will be thrown.
staticInstancePtr
Returns a pointer to the module instance.
Module has to have been started up first otherwise an exception will be thrown.
staticShutDown
Shuts down this module and frees any resources it is using.
staticIsStarted
Query if the module has been started.
Protected
Methods
OnStartUp
Override if you want your module to be notified once it has been constructed and started.
OnShutDown
Override if you want your module to be notified just before it is deleted.
PreUpdate
Called for each iteration of the main loop.
Called before any game objects or plugins are updated.
PostUpdate
Called for each iteration of the main loop.
Called after all game objects and plugins are updated.
StartUpRenderer
Initializes the renderer specified during construction.
Called during initialization.
GetShaderIncludeHandler
Returns a handler that is used for resolving shader include file paths.
StartUpScriptManager
Initializes the script manager.
UpdateScriptManager
Calls per-frame update on the script manager.
FrameRenderingFinishedCallback
Called when the frame finishes rendering.
BeginRenderThreadProfiling
Called by the render thread to begin profiling.
EndRenderThreadProfiling
Called by the render thread to end profiling.
~Module<T>
staticInstanceInternal
Returns a singleton instance of this module.
Fields
mPrimaryWindow
mPrimaryGpu
mMainThreadScheduler
mTaskScheduler
mInformation
mFrameStep
mLastFrameTime
mExitAfterNFrames
0 = unlimited.