PipelineContext

Inherited: None

Description

PipelineContext is a class responsible for managing the rendering pipeline context, including rendering tasks, camera settings, and post-processing effects.

Public Methods

void

addTextureBuffer (Texture * texture)

CommandBuffer *

buffer () const

void

cameraReset ()

std::list<Renderable *> &

culledComponents ()

Camera *

currentCamera () const

RenderTarget *

defaultTarget ()

void

drawRenderers (const std::list<Renderable *> & list, uint32_t layer, uint32_t flags = 0)

std::list<Renderable *>

frustumCulling (const std::array<Vector3, 8> & frustum, std::list<Renderable *> & list, AABBox & box)

void

insertRenderTask (PipelineTask * task, PipelineTask * before = nullptr)

const std::list<PipelineTask *> &

renderTasks () const

std::list

renderTextures () const

void

resize (int32_t width, int32_t height)

std::list<Renderable *> &

sceneComponents ()

std::list<BaseLight *> &

sceneLights ()

void

setCurrentCamera (Camera * camera)

void

setDefaultTarget (RenderTarget * target)

void

setPipeline (Pipeline * pipeline)

void

setWorld (World * world)

Texture *

textureBuffer (const std::string & name)

World *

world ()

AABBox

worldBound () const

Static Methods

Mesh *

defaultCube ()

Mesh *

defaultPlane ()

Methods Description

void PipelineContext::addTextureBuffer (Texture * texture)

Adds a texture buffer to the global *texture*s in the command buffer.


CommandBuffer * PipelineContext::buffer () const

Retrieves the command buffer associated with the pipeline context.


void PipelineContext::cameraReset ()

Resets the camera view and projection matrices in the command buffer.


std::list<Renderable *> & PipelineContext::culledComponents ()

Returns the list of culled scene components based on frustum culling.


Camera * PipelineContext::currentCamera () const

Returns the currently set camera for rendering.

See also setCurrentCamera().


Mesh * PipelineContext::defaultCube ()

Return the default cube mesh used in rendering.


Mesh * PipelineContext::defaultPlane ()

Retrieves the default plane mesh used in rendering.


RenderTarget * PipelineContext::defaultTarget ()

Returns the default render target associated with the pipeline context.

See also setDefaultTarget().


void PipelineContext::drawRenderers (*> & list, uint32_t layer, uint32_t flags = 0)

Draws the specified list of Renderable compoenents on the given layer and flags.


std::list<Renderable *> PipelineContext::frustumCulling (const std::array<Vector3, 8> & frustum, *> & list, AABBox & box)

Filters out an incoming list which are not in the frustum. Returns filtered list. The output parameter returns a bounding box for filtered objects.


void PipelineContext::insertRenderTask (PipelineTask * task, PipelineTask * before = nullptr)

Inserts a rendering task into the pipeline context. Optionally, specifies the task to insert before.


const std::list<PipelineTask *> & PipelineContext::renderTasks () const

Returns the list of rendering tasks associated with the pipeline context.


std::list PipelineContext::renderTextures () const

Returns a list of names of the global textures.


void PipelineContext::resize (int32_t width, int32_t height)

Resizes the pipeline context to the specified width and height. Updates render tasks accordingly.


std::list<Renderable *> & PipelineContext::sceneComponents ()

Returns the list of scene components relevant for rendering.


std::list<BaseLight *> & PipelineContext::sceneLights ()

Returns the list of scene lights relevant for rendering.


void PipelineContext::setCurrentCamera (Camera * camera)

Sets the current camera and updates associated matrices in the command buffer.

See also currentCamera().


void PipelineContext::setDefaultTarget (RenderTarget * target)

Sets the default render target for the pipeline context.

See also defaultTarget().


void PipelineContext::setPipeline (Pipeline * pipeline)

Sets the rendering pipeline for the context, creating and linking associated rendering tasks.


void PipelineContext::setWorld (World * world)

Sets the curent world instance to process.

See also *world*().


Texture * PipelineContext::textureBuffer (std::string & name)

Returns a texture buffer based on its name.


World * PipelineContext::world ()

Returns the curent world instance to process.

See also setWorld().


AABBox PipelineContext::worldBound () const

Returns the bounding box representing the world-bound.