+ propertyBuffer->SetFormat( format.Release() );
+}
+
+void RenderManager::SetPropertyBufferData( Render::PropertyBuffer* propertyBuffer, OwnerPointer< Vector<char> >& data, size_t size )
+{
+ propertyBuffer->SetData( data.Release(), size );
+}
+
+void RenderManager::SetIndexBuffer( Render::Geometry* geometry, Dali::Vector<unsigned short>& indices )
+{
+ geometry->SetIndexBuffer( indices );
+}
+
+void RenderManager::AddGeometry( OwnerPointer< Render::Geometry >& geometry )
+{
+ mImpl->geometryContainer.PushBack( geometry.Release() );
+}
+
+void RenderManager::RemoveGeometry( Render::Geometry* geometry )
+{
+ mImpl->geometryContainer.EraseObject( geometry );
+}
+
+void RenderManager::AttachVertexBuffer( Render::Geometry* geometry, Render::PropertyBuffer* propertyBuffer )
+{
+ DALI_ASSERT_DEBUG( NULL != geometry );
+
+ // Find the geometry
+ for ( auto&& iter : mImpl->geometryContainer )
+ {
+ if ( iter == geometry )
+ {
+ iter->AddPropertyBuffer( propertyBuffer );
+ break;
+ }
+ }
+}
+
+void RenderManager::RemoveVertexBuffer( Render::Geometry* geometry, Render::PropertyBuffer* propertyBuffer )
+{
+ DALI_ASSERT_DEBUG( NULL != geometry );
+
+ // Find the geometry
+ for ( auto&& iter : mImpl->geometryContainer )
+ {
+ if ( iter == geometry )
+ {
+ iter->RemovePropertyBuffer( propertyBuffer );
+ break;
+ }
+ }
+}
+
+void RenderManager::SetGeometryType( Render::Geometry* geometry, unsigned int geometryType )
+{
+ geometry->SetType( Render::Geometry::Type(geometryType) );
+}
+
+void RenderManager::AddRenderTracker( Render::RenderTracker* renderTracker )
+{
+ mImpl->AddRenderTracker(renderTracker);
+}
+
+void RenderManager::RemoveRenderTracker( Render::RenderTracker* renderTracker )
+{
+ mImpl->RemoveRenderTracker(renderTracker);