UpdateNodeWorldMatrix( node, nodeDirtyFlags, updateBufferIndex );
}
- if( node.ResolveVisibility(updateBufferIndex) )
- {
- node.PrepareRender( updateBufferIndex );
- }
+ node.PrepareRender( updateBufferIndex );
// if any child node has moved or had its sort modifier changed, layer is not clean and old frame cannot be reused
mIsRoot = isRoot;
}
-bool Node::ResolveVisibility( BufferIndex updateBufferIndex )
-{
- bool result = false;
- const Vector4& color = GetWorldColor( updateBufferIndex );
- if( color.a > FULLY_TRANSPARENT ) // not fully transparent
- {
- const float MAX_NODE_SIZE = float(1u<<30);
- const Vector3& size = GetSize( updateBufferIndex );
- if( ( size.width > Math::MACHINE_EPSILON_1000 ) && // width is greater than a very small number
- ( size.height > Math::MACHINE_EPSILON_1000 ) ) // height is greater than a very small number
- {
- if( ( size.width < MAX_NODE_SIZE ) && // width is smaller than the maximum allowed size
- ( size.height < MAX_NODE_SIZE ) ) // height is smaller than the maximum allowed size
- {
- result = true;
- }
- else
- {
- DALI_LOG_ERROR("Actor size should not be bigger than %f.\n", MAX_NODE_SIZE );
- DALI_LOG_ACTOR_TREE( mParent );
- }
- }
- }
- return result;
-}
-
void Node::AddUniformMapping( UniformPropertyMapping* map )
{
PropertyOwner::AddUniformMapping( map );
}
/**
- * Check if the node is visible i.e Is not fully transparent and has valid size
- */
- bool ResolveVisibility( BufferIndex updateBufferIndex );
-
- /**
* Set the world-matrix of a node, with scale + rotation + translation.
* Scale and rotation are centered at the origin.
* Translation is applied independently of the scale or rotatation axis.