Dali 3D User Interface Engine
List of all members | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes
Dali::Internal::SceneGraph::RenderInstruction Class Reference

A set of rendering instructions consisting of: More...

#include <render-instruction.h>

Collaboration diagram for Dali::Internal::SceneGraph::RenderInstruction:
Collaboration graph
[legend]

Public Member Functions

 RenderInstruction ()
 Default constructor so this can be stored in STL containers. More...
 
 ~RenderInstruction ()
 Destructor. More...
 
RenderListGetNextFreeRenderList (size_t capacityRequired)
 Get the next free Renderlist. More...
 
void UpdateCompleted ()
 Inform the RenderInstruction that processing for this frame is complete This method should only be called from Update thread. More...
 
RenderListContainer::SizeType RenderListCount () const
 
const RenderListGetRenderList (RenderListContainer::SizeType index) const
 Return the renderlist at given index. More...
 
void Reset (CameraAttachment *cameraAttachment, unsigned int offscreenId, const Viewport *viewport, const Vector4 *clearColor)
 Reset render-instruction render-lists are cleared but not released, while matrices and other settings reset in preparation for building a set of instructions for the renderer. More...
 
const MatrixGetViewMatrix (BufferIndex index) const
 Get the view matrix for rendering. More...
 
const MatrixGetProjectionMatrix (BufferIndex index) const
 Get the projection matrix for rendering. More...
 

Public Attributes

Render::RenderTrackermRenderTracker
 Pointer to an optional tracker object (not owned) More...
 
Viewport mViewport
 Optional viewport. More...
 
Vector4 mClearColor
 Optional color to clear with. More...
 
bool mIsViewportSet:1
 Flag to determine whether the viewport is set. More...
 
bool mIsClearColorSet:1
 Flag to determine whether the clearColor is set. More...
 
unsigned int mOffscreenTextureId
 Optional offscreen target. More...
 

Private Member Functions

 RenderInstruction (const RenderInstruction &)
 
RenderInstructionoperator= (const RenderInstruction &rhs)
 

Private Attributes

CameraAttachmentmCameraAttachment
 camera that is used More...
 
RenderListContainer mRenderLists
 container of all render lists More...
 
RenderListContainer::SizeType mNextFreeRenderList
 index for the next free render list More...
 

Detailed Description

A set of rendering instructions consisting of:

Definition at line 50 of file render-instruction.h.

Constructor & Destructor Documentation

Dali::Internal::SceneGraph::RenderInstruction::RenderInstruction ( )

Default constructor so this can be stored in STL containers.

Definition at line 35 of file render-instruction.cpp.

References mRenderLists, and Dali::Vector< T, IsTrivialType >::Reserve().

Here is the call graph for this function:

Dali::Internal::SceneGraph::RenderInstruction::~RenderInstruction ( )

Destructor.

Definition at line 48 of file render-instruction.cpp.

Dali::Internal::SceneGraph::RenderInstruction::RenderInstruction ( const RenderInstruction )
private

Member Function Documentation

RenderList & Dali::Internal::SceneGraph::RenderInstruction::GetNextFreeRenderList ( size_t  capacityRequired)

Get the next free Renderlist.

Parameters
capacityRequiredin this list
Returns
the renderlist

Definition at line 52 of file render-instruction.cpp.

References Dali::VectorBase::Count(), mNextFreeRenderList, mRenderLists, Dali::Vector< T, IsTrivialType >::PushBack(), and Dali::Vector< T, IsTrivialType >::Reserve().

Referenced by Dali::Internal::SceneGraph::AddColorRenderers(), Dali::Internal::SceneGraph::AddOverlayRenderers(), and Dali::Internal::SceneGraph::AddStencilRenderers().

Here is the call graph for this function:

Here is the caller graph for this function:

const Matrix* Dali::Internal::SceneGraph::RenderInstruction::GetProjectionMatrix ( BufferIndex  index) const
inline

Get the projection matrix for rendering.

Parameters
indexof the rendering side
Returns
the projection matrix

Definition at line 121 of file render-instruction.h.

References Dali::Internal::SceneGraph::CameraAttachment::GetProjectionMatrix(), and mCameraAttachment.

Referenced by Dali::Internal::Render::PrintRenderInstruction(), and Dali::Internal::Render::ProcessRenderInstruction().

Here is the call graph for this function:

Here is the caller graph for this function:

const RenderList * Dali::Internal::SceneGraph::RenderInstruction::GetRenderList ( RenderListContainer::SizeType  index) const

Return the renderlist at given index.

Precondition
index is inside the valid range of initialized lists
Parameters
indexof list to return
Returns
pointer to the renderlist, or null if the index is out of bounds.

Definition at line 94 of file render-instruction.cpp.

References DALI_ASSERT_DEBUG, Dali::Toolkit::Text::min(), mNextFreeRenderList, mRenderLists, and Dali::VectorBase::Size().

Referenced by Dali::Internal::Render::ProcessRenderInstruction().

Here is the call graph for this function:

Here is the caller graph for this function:

const Matrix* Dali::Internal::SceneGraph::RenderInstruction::GetViewMatrix ( BufferIndex  index) const
inline

Get the view matrix for rendering.

Parameters
indexof the rendering side
Returns
the view matrix

Definition at line 110 of file render-instruction.h.

References Dali::Internal::SceneGraph::CameraAttachment::GetViewMatrix(), and mCameraAttachment.

Referenced by Dali::Internal::Render::PrintRenderInstruction(), and Dali::Internal::Render::ProcessRenderInstruction().

Here is the call graph for this function:

Here is the caller graph for this function:

RenderInstruction& Dali::Internal::SceneGraph::RenderInstruction::operator= ( const RenderInstruction rhs)
private
RenderListContainer::SizeType Dali::Internal::SceneGraph::RenderInstruction::RenderListCount ( ) const
Returns
the count of active Renderlists

Definition at line 89 of file render-instruction.cpp.

References mNextFreeRenderList.

Referenced by Dali::Internal::Render::ProcessRenderInstruction(), and Dali::Internal::SceneGraph::RenderManager::Render().

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::RenderInstruction::Reset ( CameraAttachment cameraAttachment,
unsigned int  offscreenId,
const Viewport viewport,
const Vector4 clearColor 
)

Reset render-instruction render-lists are cleared but not released, while matrices and other settings reset in preparation for building a set of instructions for the renderer.

Parameters
[in]cameraAttachmentto use to get view and projection matrices.
[in]offscreenIdA resource Id of an off-screen render target, or 0
[in]viewportA pointer to a viewport, of NULL.
[in]clearColorA pointer to a color to clear with, or NULL if no clear is required.

Definition at line 107 of file render-instruction.cpp.

References Dali::Vector< T, IsTrivialType >::Begin(), Dali::Color::BLACK, Dali::Vector< T, IsTrivialType >::End(), mCameraAttachment, mClearColor, mIsClearColorSet, mIsViewportSet, mNextFreeRenderList, mOffscreenTextureId, mRenderLists, mRenderTracker, and mViewport.

Referenced by Dali::Internal::SceneGraph::RenderTask::PrepareRenderInstruction().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::RenderInstruction::UpdateCompleted ( )

Inform the RenderInstruction that processing for this frame is complete This method should only be called from Update thread.

Definition at line 70 of file render-instruction.cpp.

References Dali::Vector< T, IsTrivialType >::Begin(), Dali::VectorBase::Count(), Dali::Vector< T, IsTrivialType >::End(), mNextFreeRenderList, mRenderLists, and Dali::OwnerContainer< T >::Resize().

Referenced by Dali::Internal::SceneGraph::PrepareRenderInstruction().

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

CameraAttachment* Dali::Internal::SceneGraph::RenderInstruction::mCameraAttachment
private

camera that is used

Definition at line 147 of file render-instruction.h.

Referenced by GetProjectionMatrix(), GetViewMatrix(), and Reset().

Vector4 Dali::Internal::SceneGraph::RenderInstruction::mClearColor
bool Dali::Internal::SceneGraph::RenderInstruction::mIsClearColorSet

Flag to determine whether the clearColor is set.

Definition at line 141 of file render-instruction.h.

Referenced by Dali::Internal::SceneGraph::RenderManager::DoRender(), Dali::Internal::Render::PrintRenderInstruction(), and Reset().

bool Dali::Internal::SceneGraph::RenderInstruction::mIsViewportSet

Flag to determine whether the viewport is set.

Definition at line 140 of file render-instruction.h.

Referenced by Dali::Internal::SceneGraph::RenderManager::DoRender(), Dali::Internal::Render::PrintRenderInstruction(), and Reset().

RenderListContainer::SizeType Dali::Internal::SceneGraph::RenderInstruction::mNextFreeRenderList
private

index for the next free render list

Definition at line 149 of file render-instruction.h.

Referenced by GetNextFreeRenderList(), GetRenderList(), RenderListCount(), Reset(), and UpdateCompleted().

unsigned int Dali::Internal::SceneGraph::RenderInstruction::mOffscreenTextureId
RenderListContainer Dali::Internal::SceneGraph::RenderInstruction::mRenderLists
private

container of all render lists

Definition at line 148 of file render-instruction.h.

Referenced by GetNextFreeRenderList(), GetRenderList(), RenderInstruction(), Reset(), and UpdateCompleted().

Render::RenderTracker* Dali::Internal::SceneGraph::RenderInstruction::mRenderTracker

Pointer to an optional tracker object (not owned)

Definition at line 136 of file render-instruction.h.

Referenced by Dali::Internal::SceneGraph::RenderManager::DoRender(), Dali::Internal::SceneGraph::RenderTask::PrepareRenderInstruction(), and Reset().

Viewport Dali::Internal::SceneGraph::RenderInstruction::mViewport

The documentation for this class was generated from the following files:
Dali Docs Home
Read more about Dali