.. _api_PipelineContext: PipelineContext =============== Inherited: None .. _api_PipelineContext_description: Description ----------- PipelineContext is a class responsible for managing the rendering pipeline context, including rendering tasks, camera settings, and post-processing effects. .. _api_PipelineContext_public: Public Methods -------------- +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`addTextureBuffer` (Texture * texture) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`CommandBuffer` * | :ref:`buffer` () const | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`cameraReset` () | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ | std::list>` & | :ref:`culledComponents` () | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Camera` * | :ref:`currentCamera` () const | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RenderTarget` * | :ref:`defaultTarget` () | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`drawRenderers` (const std::list & list, uint32_t layer, uint32_t flags = 0) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ | std::list>` | :ref:`frustumCulling` (const std::array & frustum, std::list & list, AABBox & box) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`insertRenderTask` (PipelineTask * task, PipelineTask * before = nullptr) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ | const std::list>` & | :ref:`renderTasks` () const | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`std::list>` | :ref:`renderTextures` () const | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`resize` (int32_t width, int32_t height) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ | std::list>` & | :ref:`sceneComponents` () | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ | std::list>` & | :ref:`sceneLights` () | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`setCurrentCamera` (Camera * camera) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`setDefaultTarget` (RenderTarget * target) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`setPipeline` (Pipeline * pipeline) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`setWorld` (World * world) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Texture` * | :ref:`textureBuffer` (const std::string & name) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`World` * | :ref:`world` () | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`AABBox` | :ref:`worldBound` () const | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ .. _api_PipelineContext_static: Static Methods -------------- +--------------------------+----------------------------------------------------------+ | :ref:`Mesh` * | :ref:`defaultCube` () | +--------------------------+----------------------------------------------------------+ | :ref:`Mesh` * | :ref:`defaultPlane` () | +--------------------------+----------------------------------------------------------+ .. _api_PipelineContext_methods: Methods Description ------------------- .. _api_PipelineContext_addTextureBuffer: void **PipelineContext::addTextureBuffer** (:ref:`Texture` * *texture*) Adds a *texture* buffer to the global *texture*s in the command buffer. ---- .. _api_PipelineContext_buffer: :ref:`CommandBuffer` * **PipelineContext::buffer** () const Retrieves the command buffer associated with the pipeline context. ---- .. _api_PipelineContext_cameraReset: void **PipelineContext::cameraReset** () Resets the camera view and projection matrices in the command buffer. ---- .. _api_PipelineContext_culledComponents: std::list>` & **PipelineContext::culledComponents** () Returns the list of culled scene components based on frustum culling. ---- .. _api_PipelineContext_currentCamera: :ref:`Camera` * **PipelineContext::currentCamera** () const Returns the currently set camera for rendering. **See also** setCurrentCamera(). ---- .. _api_PipelineContext_defaultCube: :ref:`Mesh` * **PipelineContext::defaultCube** () Return the default cube mesh used in rendering. ---- .. _api_PipelineContext_defaultPlane: :ref:`Mesh` * **PipelineContext::defaultPlane** () Retrieves the default plane mesh used in rendering. ---- .. _api_PipelineContext_defaultTarget: :ref:`RenderTarget` * **PipelineContext::defaultTarget** () Returns the default render target associated with the pipeline context. **See also** setDefaultTarget(). ---- .. _api_PipelineContext_drawRenderers: void **PipelineContext::drawRenderers** (:ref:`*>>` & *list*, :ref:`uint32_t` *layer*, :ref:`uint32_t` *flags* = 0) Draws the specified *list* of Renderable compoenents on the given *layer* and *flags*. ---- .. _api_PipelineContext_frustumCulling: std::list>` **PipelineContext::frustumCulling** (:ref:`const` *std::array>` & *frustum*, :ref:`*>>` & *list*, :ref:`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. ---- .. _api_PipelineContext_insertRenderTask: void **PipelineContext::insertRenderTask** (:ref:`PipelineTask` * *task*, :ref:`PipelineTask` * *before* = nullptr) Inserts a rendering *task* into the pipeline context. Optionally, specifies the *task* to insert *before*. ---- .. _api_PipelineContext_renderTasks: const std::list>` & **PipelineContext::renderTasks** () const Returns the list of rendering tasks associated with the pipeline context. ---- .. _api_PipelineContext_renderTextures: :ref:`std::list>` **PipelineContext::renderTextures** () const Returns a list of names of the global textures. ---- .. _api_PipelineContext_resize: void **PipelineContext::resize** (int32_t *width*, int32_t *height*) Resizes the pipeline context to the specified *width* and *height*. Updates render tasks accordingly. ---- .. _api_PipelineContext_sceneComponents: std::list>` & **PipelineContext::sceneComponents** () Returns the list of scene components relevant for rendering. ---- .. _api_PipelineContext_sceneLights: std::list>` & **PipelineContext::sceneLights** () Returns the list of scene lights relevant for rendering. ---- .. _api_PipelineContext_setCurrentCamera: void **PipelineContext::setCurrentCamera** (:ref:`Camera` * *camera*) Sets the current *camera* and updates associated matrices in the command buffer. **See also** currentCamera(). ---- .. _api_PipelineContext_setDefaultTarget: void **PipelineContext::setDefaultTarget** (:ref:`RenderTarget` * *target*) Sets the default render *target* for the pipeline context. **See also** defaultTarget(). ---- .. _api_PipelineContext_setPipeline: void **PipelineContext::setPipeline** (:ref:`Pipeline` * *pipeline*) Sets the rendering *pipeline* for the context, creating and linking associated rendering tasks. ---- .. _api_PipelineContext_setWorld: void **PipelineContext::setWorld** (:ref:`World` * *world*) Sets the curent *world* instance to process. **See also** *world*(). ---- .. _api_PipelineContext_textureBuffer: :ref:`Texture` * **PipelineContext::textureBuffer** (std::string & *name*) Returns a texture buffer based on its *name*. ---- .. _api_PipelineContext_world: :ref:`World` * **PipelineContext::world** () Returns the curent world instance to process. **See also** setWorld(). ---- .. _api_PipelineContext_worldBound: :ref:`AABBox` **PipelineContext::worldBound** () const Returns the bounding box representing the world-bound.