Dali 3D User Interface Engine
Classes | Functions
Dali::Internal::Render Namespace Reference

Classes

class  RenderTracker
 This class is used to communicate with Fence Sync objects, keeping access solely in the RenderThread to avoid having mutual exclusion locks or messages back to the UpdateThread. More...
 
class  UniformNameCache
 This class maps uniform names to unique indices that can be used to cache the GL uniform index values in programs and only do the costly string lookup once. More...
 
class  PropertyBuffer
 
class  Renderer
 Renderers are used to render meshes These objects are used during RenderManager::Render(), so properties modified during the Update must either be double-buffered, or set via a message added to the RenderQueue. More...
 
class  Sampler
 
class  Texture
 This class is the mapping between texture id, sampler and sampler uniform name. More...
 

Functions

void SetScissorTest (const RenderList &renderList, Context &context)
 Sets up the scissor test if required. More...
 
void SetRenderFlags (const RenderList &renderList, Context &context)
 Sets the render flags for depth testing and stencil buffer. More...
 
void ProcessRenderList (const RenderList &renderList, Context &context, SceneGraph::TextureCache &textureCache, SceneGraph::Shader &defaultShader, BufferIndex bufferIndex, const Matrix &viewMatrix, const Matrix &projectionMatrix)
 Process a render-list. More...
 
void ProcessRenderInstruction (const SceneGraph::RenderInstruction &instruction, Context &context, SceneGraph::TextureCache &textureCache, SceneGraph::Shader &defaultShader, BufferIndex bufferIndex)
 Process a render-instruction. More...
 
void PrintFrameStart (BufferIndex bufferIndex)
 Print a debug message at the start of the render-thread. More...
 
void PrintFrameEnd ()
 Print a debug message at the end of the render-thread. More...
 
void PrintRenderInstruction (const SceneGraph::RenderInstruction &instruction, BufferIndex index)
 Print some information about a render-instruction. More...
 
void PrintRenderList (const SceneGraph::RenderList &list)
 Print some information about a render-list. More...
 
void PrintRenderItem (const SceneGraph::RenderItem &item)
 Print some information about a render-item. More...
 
void PrintRendererCount (unsigned int frameCount, unsigned int rendererCount)
 Print the number of image renderers. More...
 

Function Documentation

void Dali::Internal::Render::PrintFrameEnd ( )

Print a debug message at the end of the render-thread.

Definition at line 46 of file render-debug.cpp.

References DALI_LOG_RENDER_INFO.

void Dali::Internal::Render::PrintFrameStart ( BufferIndex  bufferIndex)

Print a debug message at the start of the render-thread.

Parameters
[in]bufferThe current render buffer index (previous update buffer)

Definition at line 41 of file render-debug.cpp.

References DALI_LOG_RENDER_INFO.

void Dali::Internal::Render::PrintRendererCount ( unsigned int  frameCount,
unsigned int  rendererCount 
)

Print the number of image renderers.

Parameters
[in]frameCountThe frame counter
[in]rendererCountThe number of image renderers

Definition at line 136 of file render-debug.cpp.

References Dali::Integration::Log::DebugInfo, and Dali::Integration::Log::LogMessage().

Here is the call graph for this function:

void Dali::Internal::Render::PrintRenderInstruction ( const SceneGraph::RenderInstruction &  instruction,
BufferIndex  index 
)
void Dali::Internal::Render::PrintRenderItem ( const SceneGraph::RenderItem &  item)

Print some information about a render-item.

Parameters
[in]instructionThe render-item.

Definition at line 127 of file render-debug.cpp.

References DALI_LOG_RENDER_INFO, and Dali::Internal::SceneGraph::RenderItem::GetModelViewMatrix().

Here is the call graph for this function:

void Dali::Internal::Render::PrintRenderList ( const SceneGraph::RenderList &  list)

Print some information about a render-list.

Parameters
[in]instructionThe render-list.

Definition at line 72 of file render-debug.cpp.

References DALI_LOG_RENDER_INFO, Dali::Internal::SceneGraph::RenderList::GetClippingBox(), Dali::Internal::SceneGraph::RenderList::GetFlags(), Dali::Rect< T >::height, Dali::Internal::SceneGraph::RenderList::IsClipping(), Dali::Rect< T >::width, Dali::Rect< T >::x, and Dali::Rect< T >::y.

Here is the call graph for this function:

void Dali::Internal::Render::ProcessRenderInstruction ( const SceneGraph::RenderInstruction &  instruction,
Context &  context,
SceneGraph::TextureCache &  textureCache,
SceneGraph::Shader &  defaultShader,
BufferIndex  bufferIndex 
)

Process a render-instruction.

Parameters
[in]instructionThe render-instruction to process.
[in]contextThe GL context.
[in]textureCacheThe texture cache used to get textures.
[in]defaultShaderThe default shader.
[in]bufferThe current render buffer index (previous update buffer)

Definition at line 158 of file render-algorithms.cpp.

References DALI_ASSERT_DEBUG, DALI_PRINT_RENDER_INSTRUCTION, Dali::Internal::SceneGraph::RenderInstruction::GetProjectionMatrix(), Dali::Internal::SceneGraph::RenderInstruction::GetRenderList(), Dali::Internal::SceneGraph::RenderInstruction::GetViewMatrix(), Dali::Internal::SceneGraph::RenderList::IsEmpty(), ProcessRenderList(), and Dali::Internal::SceneGraph::RenderInstruction::RenderListCount().

Referenced by Dali::Internal::SceneGraph::RenderManager::DoRender().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Render::ProcessRenderList ( const RenderList renderList,
Context &  context,
SceneGraph::TextureCache &  textureCache,
SceneGraph::Shader &  defaultShader,
BufferIndex  bufferIndex,
const Matrix &  viewMatrix,
const Matrix &  projectionMatrix 
)
inline

Process a render-list.

Parameters
[in]renderListThe render-list to process.
[in]contextThe GL context.
[in]defaultShaderThe default shader to use.
[in]bufferThe current render buffer index (previous update buffer)
[in]viewMatrixThe view matrix from the appropriate camera.
[in]projectionMatrixThe projection matrix from the appropriate camera.

Definition at line 115 of file render-algorithms.cpp.

References Dali::Internal::SceneGraph::RenderList::Count(), DALI_PRINT_RENDER_ITEM, DALI_PRINT_RENDER_LIST, Dali::Internal::Context::DepthMask(), Dali::Internal::SceneGraph::RenderList::GetFlags(), Dali::Internal::SceneGraph::RenderList::GetItem(), Dali::Internal::SceneGraph::RenderItem::GetModelViewMatrix(), Dali::Internal::SceneGraph::RenderItem::GetNode(), Dali::Internal::SceneGraph::RenderItem::GetRenderer(), Dali::Internal::SceneGraph::RenderList::HasColorRenderItems(), Dali::Internal::SceneGraph::RenderItem::IsOpaque(), Dali::Internal::Render::Renderer::Render(), Dali::Internal::Render::Renderer::RequiresDepthTest(), SetRenderFlags(), and SetScissorTest().

Referenced by ProcessRenderInstruction().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Render::SetRenderFlags ( const RenderList renderList,
Context &  context 
)
inline

Sets the render flags for depth testing and stencil buffer.

Parameters
[in]renderListThe render list from which to get the render flags
[in]contextThe context

Definition at line 69 of file render-algorithms.cpp.

References Dali::Internal::Context::CHECK_CACHED_VALUES, Dali::Internal::Context::Clear(), Dali::Internal::Context::ColorMask(), Dali::Internal::Context::EnableDepthBuffer(), Dali::Internal::Context::EnableStencilBuffer(), Dali::Internal::SceneGraph::RenderList::GetFlags(), GL_ALWAYS, GL_DEPTH_BUFFER_BIT, GL_EQUAL, GL_KEEP, GL_REPLACE, GL_STENCIL_BUFFER_BIT, Dali::Internal::Context::StencilFunc(), Dali::Internal::Context::StencilMask(), and Dali::Internal::Context::StencilOp().

Referenced by ProcessRenderList().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Render::SetScissorTest ( const RenderList renderList,
Context &  context 
)
inline

Sets up the scissor test if required.

Parameters
[in]renderListThe render list from which to get the clipping flag
[in]contextThe context

Definition at line 47 of file render-algorithms.cpp.

References Dali::Internal::SceneGraph::RenderList::GetClippingBox(), Dali::Rect< T >::height, Dali::Internal::SceneGraph::RenderList::IsClipping(), Dali::Internal::Context::Scissor(), Dali::Internal::Context::SetScissorTest(), Dali::Rect< T >::width, Dali::Rect< T >::x, and Dali::Rect< T >::y.

Referenced by ProcessRenderList().

Here is the call graph for this function:

Here is the caller graph for this function:

Dali Docs Home
Read more about Dali