# Migration Guide

Following an overview about interface changes between [Candera](http://dev.doc.cgistudio.at/APILINK/namespace_candera.html "[DataBinding_RefTypeSample]") V3.2.0 and [Candera](http://dev.doc.cgistudio.at/APILINK/namespace_candera.html "[DataBinding_RefTypeSample]") V3.2.1.

<div class="contents" id="bkmrk-description-candera-"><div class="textblock"><table class="doxtable"><tbody><tr><th>**Description**</th><th>**[Candera](http://dev.doc.cgistudio.at/APILINK/namespace_candera.html "[DataBinding_RefTypeSample]") V3.2.0**</th><th>**[Candera](http://dev.doc.cgistudio.at/APILINK/namespace_candera.html "[DataBinding_RefTypeSample]") V3.2.1**

</th></tr><tr><td>Activating [ClearMode](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_clear_mode.html "Describes how a viewport is cleared. The color buffer may be cleared using a given color...") moved to [Renderer](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_renderer.html "The class Renderer represents the unique Candera render interface to the application. Each render call an base of Candera shall be triggered via the Renderer interface.")</td><td>[ClearMode::Activate()](http://dev.doc.cgistudio.at/APILINK/group___c_o_u_r_i_e_r___t_r_a_n_s_i_t_i_o_n_s.html#gga5d0c24bca24009c53c455ef2e77ff2caa2ef10430976350af6e16142bd380932c)</td><td>Renderer::ActivateClearMode(const ClearMode\*)

</td></tr><tr><td>Activating [ClearMode](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_clear_mode.html "Describes how a viewport is cleared. The color buffer may be cleared using a given color...") via [Camera](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_camera.html "A Camera provides Modelview and Projection matrices. Camera is a Transformable.* The eye point is set...") moved to [Renderer](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_renderer.html "The class Renderer represents the unique Candera render interface to the application. Each render call an base of Candera shall be triggered via the Renderer interface.")</td><td>ClearMode::Activate(const Camera&amp;)</td><td>Renderer::ActivateClearMode(const Camera&amp;)

</td></tr><tr><td>Setting a shader uniform moved to [Renderer](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_renderer.html "The class Renderer represents the unique Candera render interface to the application. Each render call an base of Candera shall be triggered via the Renderer interface.")</td><td>RenderDevice::SetUniform(Handle, const Char\*, const void\*, Shader::UniformType, UInt)</td><td>Renderer::SetUniform(Handle, const Char\*, const void\*, Shader::UniformType, UInt)

</td></tr><tr><td>Submitting a drawcall moved to [Renderer](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_renderer.html "The class Renderer represents the unique Candera render interface to the application. Each render call an base of Candera shall be triggered via the Renderer interface.")</td><td>RenderDevice::DrawVertexBufffer(const VertexBuffer&amp;)</td><td>Renderer::Draw(const VertexBuffer&amp;)

</td></tr><tr><td>Submitting an instanced drawcall moved to [Renderer](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_renderer.html "The class Renderer represents the unique Candera render interface to the application. Each render call an base of Candera shall be triggered via the Renderer interface.")</td><td>RenderDevice::DrawInstancedVertexBuffer(const VertexBuffer&amp;, UInt32)</td><td>[Renderer::Draw(const VertexBuffer&amp;, UInt)](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_renderer.html#aee4c9a181d71f8358cc9984d487ab275)

</td></tr><tr><td>Setting the transformation matrix moved to [Renderer2D](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_renderer2_d.html "The class Renderer2D represents the unique Candera 2D render interface to the application. Each render call shall be triggered via the Renderer2D interface.")</td><td>RenderDevice2D::SetTransformationMatrix(ContextHandle2D, SurfaceType, const Matrix3x2&amp;)</td><td>Renderer2D::SetTransformationMatrix(ContextHandle2D, SurfaceType, const Matrix3x2&amp;)

</td></tr><tr><td>Blit moved to [Renderer2D](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_renderer2_d.html "The class Renderer2D represents the unique Candera 2D render interface to the application. Each render call shall be triggered via the Renderer2D interface.")</td><td>RenderDevice2D::Blit(ContextHandle2D)</td><td>Renderer2D::Blit(ContextHandle2D)

</td></tr><tr><td>Clear moved to [Renderer2D](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_renderer2_d.html "The class Renderer2D represents the unique Candera 2D render interface to the application. Each render call shall be triggered via the Renderer2D interface.")</td><td>RenderDevice2D::Clear(ContextHandle2D, Float, Float, Float, Float)</td><td>[Renderer2D::Clear(ContextHandle2D, Float, Float, Float, Float)](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_renderer2_d.html#aad0af8d8d6fb588579acfd1724481e5f)

</td></tr><tr><td>Implementation of GlyphCacheAccess::Create</td><td>UInt8\* CustomGlyphCache::Create(const GlyphBitmap &amp;bitmap) { Create and return new item based on bitmap }</td><td>UInt8\* CustomGlyphCache::Create(const GlyphBitmap &amp;bitmap, UInt8\* cacheItem) { Create or update the cacheItem and return it. }

</td></tr></tbody></table>

</div></div>---