API Documentation
System.h
1 // System.h
3 //
5 
6 namespace nkGraphics
7 {
13  class System final : public nkCommon::MaybeSingletonClass<nkGraphics::MainSystem>
14  {
15  public :
16 
20  System () noexcept ;
24  ~System () ;
25 
26  // Getters
30  nkWinUi::System* getUiSystem () const ;
34  Renderer* getRenderer () const ;
42  MeshDataLinkTracker* getMeshDataLinkTracker () const ;
46  AsyncWorker* getAsyncWorker () const ;
118  bool getIsInitialized () const ;
122  bool getHasRunToContinue () const ;
126  bool getIsShuttingDown () const ;
127 
128  // Setters
134  void setHasRunToContinue (bool value) ;
135 
136  // To start
145  bool initialize (const Configuration& config = Configuration()) ;
154  void run (RenderContext* context, std::function<void ()> loopCallback = [] () {}) ;
155 
156  // To end
160  void shutdown () ;
161 
162  // Step by step
169  bool frame (RenderContext* context) ;
176  void tickForNewFrame (RenderContext* context) ;
177  } ;
178 }
nkGraphics::System::getLogManager
LogManager * getLogManager() const
nkGraphics::System::initialize
bool initialize(const Configuration &config=Configuration())
nkGraphics::System::frame
bool frame(RenderContext *context)
nkGraphics::System::getRenderer
Renderer * getRenderer() const
nkGraphics::System::setHasRunToContinue
void setHasRunToContinue(bool value)
nkGraphics::System
Main interface with the component system.
Definition: System.h:14
nkGraphics::SamplerManager
Manages the samplers recorded.
Definition: SamplerManager.h:15
nkGraphics::ResourceManager
Generic resource manager, enabling more intelligent processing of resources, compared to the ContentL...
Definition: ResourceManager.h:12
nkGraphics::System::getRasterStateManager
RasterStateManager * getRasterStateManager() const
nkGraphics::System::getAsyncWorker
AsyncWorker * getAsyncWorker() const
nkGraphics::System::getResourceManager
ResourceManager * getResourceManager() const
nkGraphics::System::getMeshManager
MeshManager * getMeshManager() const
nkGraphics::System::tickForNewFrame
void tickForNewFrame(RenderContext *context)
nkGraphics::RenderQueueManager
Manages the render queues recorded.
Definition: RenderQueueManager.h:15
nkGraphics::System::getSamplerManager
SamplerManager * getSamplerManager() const
nkGraphics::RenderContext
A rendering context, attached to a window or an offscreen texture.
Definition: RenderContext.h:14
nkGraphics::Renderer
A renderer, implementing the logic of using a graphics API.
Definition: Renderer.h:18
nkGraphics::System::System
System() noexcept
nkGraphics::DepthStencilStateManager
Manages the depth stencil states recorded.
Definition: DepthStencilStateManager.h:15
nkGraphics::LogManager
Responsible for logging all messages from the component.
Definition: LogManager.h:14
nkGraphics::System::getIsShuttingDown
bool getIsShuttingDown() const
nkGraphics::ShaderManager
Manages the shaders recorded.
Definition: ShaderManager.h:15
nkGraphics::ProgramManager
Manages the programs recorded.
Definition: ProgramManager.h:15
nkGraphics::System::getDepthStencilStateManager
DepthStencilStateManager * getDepthStencilStateManager() const
nkGraphics::System::getHasRunToContinue
bool getHasRunToContinue() const
nkGraphics::System::getTextureManager
TextureManager * getTextureManager() const
nkGraphics::System::getProgramManager
ProgramManager * getProgramManager() const
nkGraphics::System::run
void run(RenderContext *context, std::function< void()> loopCallback=[]() {})
nkGraphics::System::getViewportManager
ViewportManager * getViewportManager() const
nkGraphics::System::getBufferManager
BufferManager * getBufferManager() const
nkGraphics::Configuration
Configuration for the system's initialization.
Definition: Configuration.h:12
nkGraphics::RasterStateManager
Manages the raster states available in the component.
Definition: RasterStateManager.h:14
nkGraphics::ViewportManager
Manages the viewports available in the component.
Definition: ViewportManager.h:14
nkGraphics::MeshManager
Manages the meshes recorded.
Definition: MeshManager.h:15
nkGraphics::System::getUiSystem
nkWinUi::System * getUiSystem() const
nkGraphics::RenderContextManager
Manages the render contexts recorded.
Definition: RenderContextManager.h:15
nkGraphics::ContentLoader
Utility class that allows to load content through their declaration files.
Definition: ContentLoader.h:12
nkGraphics::System::getNodeManager
NodeManager * getNodeManager() const
nkGraphics::System::getContentLoader
ContentLoader * getContentLoader() const
nkGraphics::BufferManager
Manages the buffers recorded.
Definition: BufferManager.h:15
nkGraphics::System::getIsInitialized
bool getIsInitialized() const
nkGraphics::CompositorManager
Manages the compositors recorded.
Definition: CompositorManager.h:15
nkGraphics::CameraManager
Manages the cameras recorded.
Definition: CameraManager.h:15
nkGraphics::TextureManager
Manages the textures available in the component.
Definition: TextureManager.h:14
nkGraphics::System::getShaderManager
ShaderManager * getShaderManager() const
nkGraphics::NodeManager
Manages the nodes recorded.
Definition: NodeManager.h:15
nkGraphics::System::getCameraManager
CameraManager * getCameraManager() const
nkGraphics::System::getMeshDataLinkTracker
MeshDataLinkTracker * getMeshDataLinkTracker() const
nkGraphics::System::getBlendStateManager
BlendStateManager * getBlendStateManager() const
nkGraphics::System::getCompositorManager
CompositorManager * getCompositorManager() const
nkGraphics
Encompasses all API of component NilkinsGraphics.
Definition: BoundingBox.h:7
nkWinUi
Encompasses all API of component NilkinsWinUi.
Definition: Clipboard.h:7
nkGraphics::System::getRenderQueueManager
RenderQueueManager * getRenderQueueManager() const
nkGraphics::BlendStateManager
Manages the blend states recorded.
Definition: BlendStateManager.h:15
nkGraphics::System::shutdown
void shutdown()
nkGraphics::System::getRenderContextManager
RenderContextManager * getRenderContextManager() const