API Documentation
Public Member Functions | List of all members
nkGraphics::System Class Referencefinal

Main interface with the component system. More...

Inheritance diagram for nkGraphics::System:

Public Member Functions

 System () noexcept
 
 ~System ()
 
nkWinUi::SystemgetUiSystem () const
 
RenderergetRenderer () const
 
ContentLoadergetContentLoader () const
 
MeshDataLinkTracker * getMeshDataLinkTracker () const
 
AsyncWorker * getAsyncWorker () const
 
BlendStateManagergetBlendStateManager () const
 
BufferManagergetBufferManager () const
 
CameraManagergetCameraManager () const
 
CompositorManagergetCompositorManager () const
 
DepthStencilStateManagergetDepthStencilStateManager () const
 
LogManagergetLogManager () const
 
MeshManagergetMeshManager () const
 
NodeManagergetNodeManager () const
 
ProgramManagergetProgramManager () const
 
RasterStateManagergetRasterStateManager () const
 
RenderContextManagergetRenderContextManager () const
 
RenderQueueManagergetRenderQueueManager () const
 
ResourceManagergetResourceManager () const
 
SamplerManagergetSamplerManager () const
 
ShaderManagergetShaderManager () const
 
TextureManagergetTextureManager () const
 
ViewportManagergetViewportManager () const
 
bool getIsInitialized () const
 
bool getHasRunToContinue () const
 
bool getIsShuttingDown () const
 
void setHasRunToContinue (bool value)
 
bool initialize (const Configuration &config=Configuration())
 
void run (RenderContext *context, std::function< void()> loopCallback=[]() {})
 
void shutdown ()
 
bool frame (RenderContext *context)
 
void tickForNewFrame (RenderContext *context)
 

Detailed Description

Main interface with the component system.

Used to initialize or shuts all of its sub parts, also used for framing or running.

Constructor & Destructor Documentation

◆ System()

nkGraphics::System::System ( )
noexcept

Constructor.

◆ ~System()

nkGraphics::System::~System ( )

Destructor.

Member Function Documentation

◆ getUiSystem()

nkWinUi::System* nkGraphics::System::getUiSystem ( ) const
Returns
The nkWinUi system used within the current graphics system.

◆ getRenderer()

Renderer* nkGraphics::System::getRenderer ( ) const
Returns
The renderer used by the system.

◆ getContentLoader()

ContentLoader* nkGraphics::System::getContentLoader ( ) const
Returns
The linked content loader.

◆ getMeshDataLinkTracker()

MeshDataLinkTracker* nkGraphics::System::getMeshDataLinkTracker ( ) const
Returns
The linked mesh data link tracker.

◆ getAsyncWorker()

AsyncWorker* nkGraphics::System::getAsyncWorker ( ) const
Returns
The linked asynchronous worker.

◆ getBlendStateManager()

BlendStateManager* nkGraphics::System::getBlendStateManager ( ) const
Returns
The linked BlendState manager.

◆ getBufferManager()

BufferManager* nkGraphics::System::getBufferManager ( ) const
Returns
The linked Buffer manager.

◆ getCameraManager()

CameraManager* nkGraphics::System::getCameraManager ( ) const
Returns
The linked Camera manager.

◆ getCompositorManager()

CompositorManager* nkGraphics::System::getCompositorManager ( ) const
Returns
The linked Compositor maanger.

◆ getDepthStencilStateManager()

DepthStencilStateManager* nkGraphics::System::getDepthStencilStateManager ( ) const
Returns
The linked DepthStencilState manager.

◆ getLogManager()

LogManager* nkGraphics::System::getLogManager ( ) const
Returns
The linked log manager.

◆ getMeshManager()

MeshManager* nkGraphics::System::getMeshManager ( ) const
Returns
The linked Mesh manager.

◆ getNodeManager()

NodeManager* nkGraphics::System::getNodeManager ( ) const
Returns
The linked Node manager.

◆ getProgramManager()

ProgramManager* nkGraphics::System::getProgramManager ( ) const
Returns
The linked Program manager.

◆ getRasterStateManager()

RasterStateManager* nkGraphics::System::getRasterStateManager ( ) const
Returns
The linked RasterState manager.

◆ getRenderContextManager()

RenderContextManager* nkGraphics::System::getRenderContextManager ( ) const
Returns
The linked RenderContext manager.

◆ getRenderQueueManager()

RenderQueueManager* nkGraphics::System::getRenderQueueManager ( ) const
Returns
The linked RenderQueue manager.

◆ getResourceManager()

ResourceManager* nkGraphics::System::getResourceManager ( ) const
Returns
The linked resource manager.

◆ getSamplerManager()

SamplerManager* nkGraphics::System::getSamplerManager ( ) const
Returns
The linked Sampler manager.

◆ getShaderManager()

ShaderManager* nkGraphics::System::getShaderManager ( ) const
Returns
The linked Shader manager.

◆ getTextureManager()

TextureManager* nkGraphics::System::getTextureManager ( ) const
Returns
The linked Texture manager.

◆ getViewportManager()

ViewportManager* nkGraphics::System::getViewportManager ( ) const
Returns
The linked Viewport manager.

◆ getIsInitialized()

bool nkGraphics::System::getIsInitialized ( ) const
Returns
Whether the system is initialized (true) or not (false).

◆ getHasRunToContinue()

bool nkGraphics::System::getHasRunToContinue ( ) const
Returns
Whether the system has its running flag activated (true) or not (false). When initializing, the flag starts at true.

◆ getIsShuttingDown()

bool nkGraphics::System::getIsShuttingDown ( ) const
Returns
Whether the system is shutting down (true) or not (false).

◆ setHasRunToContinue()

void nkGraphics::System::setHasRunToContinue ( bool  value)

Sets whether the run should proceed. Can be used to halt the run.

Parameters
valueIf the rendering should be stopped (true) or not (false).

◆ initialize()

bool nkGraphics::System::initialize ( const Configuration config = Configuration())

Initializes the component and all of its sub part. This implies launching the graphic system and initializing the renderer.

Parameters
configThe configuration to use during initialization.
Returns
If the initialization was a success (true) or not (false).

◆ run()

void nkGraphics::System::run ( RenderContext context,
std::function< void()>  loopCallback = []() {} 
)

Runs the component. This means entering an internal running loop. This loop can be sufficient for most use cases. It ticks inputs and rendering for a given context, before calling the potential callback provided. For more complex usage (multi windowing for instance), it is recommended to manually frame in a custom rendering loop.

Parameters
contextThe context to run with.
loopCallbackA potential callback to call at each loop iteration.

◆ shutdown()

void nkGraphics::System::shutdown ( )

Shuts down the component. This frees all memory linked to it and ensure a clean leave.

◆ frame()

bool nkGraphics::System::frame ( RenderContext context)

Frames the component, once. This will update input, and render, only once.

Parameters
contextThe context to render for.
Returns
If the rendering was a success (true), or not (false).

◆ tickForNewFrame()

void nkGraphics::System::tickForNewFrame ( RenderContext context)

Ticks the engine for a new frame, without rendering. This implies setting everything up for a clean rendering for a context, and checking how async work is going. Called automatically by a frame() call.

Parameters
contextThe context to tick for.

The documentation for this class was generated from the following file: