Documenting done.

This commit is contained in:
2022-10-20 07:49:42 -07:00
parent 23df65a241
commit df1ae47624
19 changed files with 243 additions and 123 deletions

View File

@@ -14,11 +14,44 @@ namespace Dawn {
public:
RenderManager &renderManager;
/**
* Constructs a new RenderPipeline. Render Pipelines are my attempt to
* create both a flexible, but standard way to allow the individual games
* to decide how they want to render the common scene-item models.
*
* @param renderManager Parent render manager this pipeline belongs to.
*/
RenderPipeline(RenderManager &renderManager);
/**
* Initialize the render pipeline.
*/
virtual void init();
void render();
virtual void renderScene(Scene &scene) = 0;
/**
* Renders the games' currently active scene, and all of its' cameras.
*/
virtual void render();
/**
* Render a specific scene, usually just called for the currently active
* scene, but in future this could include sub-scenes.
*
* @param scene Scene to render.
*/
virtual void renderScene(Scene &scene);
/**
* Render a specific camera on a specific scene.
*
* @param scene Scene to render.
* @param camera Camera within the scene to render.
*/
virtual void renderSceneCamera(Scene &scene, Camera &camera) = 0;
/**
* Cleanup a render pipeline that has been initialized.
*/
virtual ~RenderPipeline();
};
}