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) |
buffer () const |
|
void |
cameraReset () |
std::list<Renderable *> & |
|
Camera * |
currentCamera () const |
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 *> & |
|
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 () |
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.