12#ifndef RENDERTASK_H_6014714286
13#define RENDERTASK_H_6014714286
15#include <Carna/Carna.h>
45 std::size_t nextRenderStage;
Represents an association.
Defines logic for rendering frames from given scenes.
Maintains a framebuffer object that supports up to 8 color components simultaneously.
Base abstract class of each rendering stage. Refer to the documentation of the rendering process.
Invokes the rendering stages of the frame renderer successively.
const math::Matrix4f & projection
References the projection matrix to be used.
void overrideViewTransform(const math::Matrix4f &)
Overrides the view matrix to be used for further rendering.
void finish()
Finishes this task prematurely.
virtual void renderStage(RenderStage &rs, const Viewport &viewport)
Renders rs with viewport through RenderStage::renderPass.
RenderTask(const RenderTask &parent, Framebuffer &output)
Forks parent. The result of the fork will be rendered to output.
void render(const Viewport &vp, unsigned int clearBuffersMask=0)
Invokes renderStage an all associated render stages remained. Disabled stages are skipped.
RenderTask(const RenderTask &parent)
Forks parent.
RenderTask(const FrameRenderer &renderer, const math::Matrix4f &projection, const math::Matrix4f &viewTransform)
Instantiates. For internal usage only.
RenderTask(const FrameRenderer &renderer, const math::Matrix4f &projection, const math::Matrix4f &viewTransform, Framebuffer &output)
const math::Matrix4f & viewTransform() const
References the view matrix to be used.
const FrameRenderer & renderer
References the frame renderer.
Defines a rendering viewport. The viewport is a property of the current OpenGL context.
Defines Carna::base::math namespace and CARNA_FOR_VECTOR3UI.
Eigen::Matrix< float, 4, 4, Eigen::ColMajor > Matrix4f
Defines matrix.