mUniformIndexMap.Resize(mapIndex);
}
-
- // @todo Temporary workaround to reduce workload each frame. Find a better way.
- auto& sceneGraphRenderer = const_cast<SceneGraph::Renderer&>(static_cast<const SceneGraph::Renderer&>(uniformMapDataProvider));
- sceneGraphRenderer.AgeUniformMap();
}
void Renderer::WriteUniformBuffer(
bool Renderer::PrepareRender(BufferIndex updateBufferIndex)
{
- switch(mRegenerateUniformMap)
+ if(mRegenerateUniformMap == UNIFORM_MAP_READY)
{
- case UNIFORM_MAP_READY: // Now, only set to zero on start and by render side
- {
- mUniformMapChanged[updateBufferIndex] = false;
- break;
- }
- case REGENERATE_UNIFORM_MAP:
+ mUniformMapChanged[updateBufferIndex] = false;
+ }
+ else
+ {
+ if(mRegenerateUniformMap == REGENERATE_UNIFORM_MAP)
{
CollectedUniformMap& localMap = mCollectedUniformMap[updateBufferIndex];
localMap.Clear();
{
AddMappings(localMap, mShader->GetUniformMap());
}
- mUniformMapChanged[updateBufferIndex] = true;
- break;
}
- case COPY_UNIFORM_MAP:
+ else if(mRegenerateUniformMap == COPY_UNIFORM_MAP)
{
// Copy old map into current map
CollectedUniformMap& localMap = mCollectedUniformMap[updateBufferIndex];
{
localMap[index] = *iter;
}
- mUniformMapChanged[updateBufferIndex] = true;
- break;
}
+
+ mUniformMapChanged[updateBufferIndex] = true;
+ mRegenerateUniformMap--;
}
bool rendererUpdated = mUniformMapChanged[updateBufferIndex] || mResendFlag || mRenderingBehavior == DevelRenderer::Rendering::CONTINUOUSLY;
return rendererUpdated;
}
-void Renderer::AgeUniformMap()
-{
- if(mRegenerateUniformMap > 0)
- {
- mRegenerateUniformMap--;
- }
-}
-
void Renderer::SetTextures(TextureSet* textureSet)
{
DALI_ASSERT_DEBUG(textureSet != NULL && "Texture set pointer is NULL");
void SetDrawCommands(Dali::DevelRenderer::DrawCommand* pDrawCommands, uint32_t size);
- /**
- * Temporary fix to age mRegenerateUniformMap from render side.
- * (aging should only be done if renderer is visible, not when PrepareRender is called)
- */
- void AgeUniformMap();
-
private:
/**
* Protected constructor; See also Renderer::New()