Engine²
Open-source game engine written in C++.
Loading...
Searching...
No Matches
RenderingPipeline::Plugin Class Reference

This plugin create multiple schedulers that allows to create a rendering pipeline. It will add the following "startup" pipeline: More...

#include <PluginRenderingPipeline.hpp>

Inheritance diagram for RenderingPipeline::Plugin:
Engine::APlugin Engine::IPlugin

Public Member Functions

virtual ~Plugin ()=default
void Bind () final
 Pure virtual method that must be implemented by derived plugin classes. This method is called when the plugin is added to the engine, and is where the plugin should register its systems, resources, and any other functionality it provides to the engine.
Public Member Functions inherited from Engine::APlugin
 APlugin (Core &core)
 Constructor for APlugin. It takes a reference to the Core, which is used to register systems and resources in the Bind method.
template<CScheduler TScheduler, typename... Systems>
decltype(auto) RegisterSystems (Systems... systems)
 Register systems to a scheduler.
template<typename TResource>
TResource & RegisterResource (TResource &&resource)
 Register a resource in the core.
template<CPlugin... TPlugins>
void RequirePlugins ()
 Add a plugin to the core.
template<CScheduler TScheduler, typename... Args>
TScheduler & RegisterScheduler (Args &&...args)
 Register a scheduler in the core.
CoreGetCore ()
 Get a reference to the core. This can be used to register systems and resources in the Bind method.
Public Member Functions inherited from Engine::IPlugin
virtual ~IPlugin ()=default
 Virtual destructor for IPlugin.

Detailed Description

This plugin create multiple schedulers that allows to create a rendering pipeline. It will add the following "startup" pipeline:

  • Init: Init libs like GLFW, etc.
  • Setup: Setup those libs.
  • Startup: Here for engine's user to add their own startup code. And the following "update" pipeline:
  • PreUpdate: Used for player's event handling like updating mouse position, buttons'state, etc.
  • Update: Here for engine's user to add their own update code.
  • RenderSetup: Setup the rendering pipeline, like clearing the screen, setting up the camera, etc.
  • ToGPU: Used to send the data to the GPU, like meshes, text, sprites, etc.
  • Draw: Used for swapping the buffers and drawing the data on the screen.

Constructor & Destructor Documentation

◆ ~Plugin()

virtual RenderingPipeline::Plugin::~Plugin ( )
virtualdefault

Member Function Documentation

◆ Bind()

void RenderingPipeline::Plugin::Bind ( )
finalvirtual

Pure virtual method that must be implemented by derived plugin classes. This method is called when the plugin is added to the engine, and is where the plugin should register its systems, resources, and any other functionality it provides to the engine.

See also
Engine::Core
Engine::APlugin

Implements Engine::APlugin.


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