Matrix nodeModelViewMatrix(false);
bool nodeModelViewMatrixSet(false);
- if(cull && renderable.mRenderer && !renderable.mRenderer->GetShader().HintEnabled(Dali::Shader::Hint::MODIFIES_GEOMETRY))
+ if(cull && renderable.mRenderer && !renderable.mRenderer->GetShader().HintEnabled(Dali::Shader::Hint::MODIFIES_GEOMETRY) && node->GetClippingMode() == ClippingMode::DISABLED)
{
const Vector4& boundingSphere = node->GetBoundingSphere();
inside = (boundingSphere.w > Math::MACHINE_EPSILON_1000) &&
item.mIsUpdated = partialRenderingData.IsUpdated() || item.mIsUpdated;
partialRenderingData.SwapBuffers();
}
+ else
+ {
+ // Mark as invisible
+ auto& partialRenderingData = node->GetPartialRenderingData();
+ partialRenderingData.mVisible = false;
+ }
+
node->SetCulled(updateBufferIndex, false);
}
else