# CGI Studio 3.0.1

# Candera V3.0.1

Release Date: August 14, 2014  
  
To keep backwards compatibility for any interface change in the public API the old interface has been kept and marked as deprecated. The deprecated interfaces will be removed in future versions. Compiler warnings will be generated when using a deprecated interface through the usage of Candera Macro CANDERA\_DEPRECATED\_3\_1\_0.

# Candera Engine 2D

#### Checks on set Bounding and Layout Rectangle

New methods [Node2D::IsBoundingRectangleSet](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_node2_d.html#a037aa43a7d32baa60ea03c319d6fa5ab) and Node2D::IsLayoutingRectangleSet have been introduced. BoundingBox calculation of groups and layout of [DefaultLayouter](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_default_layouter.html "DefaultLayouter is one static instance used by all 2D nodes by default. This allows all nodes to get ...") now also consider set bounding boxes on groups.

<div class="contents" id="bkmrk-"><div class="contents"><div class="textblock">---

</div></div></div>#### New feature flag to disable 2D Layout

A new CMake feature flag CANDERA\_2D\_LAYOUTING\_ENABLED (default ON) has been introduced, which allows to remove the whole code for dynamic layout.

---

# Candera Engine 3D

#### Camera: Set up and lookAt vectors in one call

[Camera::SetUpAndLookAtVectors](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_camera.html#a6887289c5792205c16448976007d5deb) allows setting the up and lookAt vectors at once. It is useful to avoid situations like when setting one of them could cause fail because is collinear with the default value of the other one, which is going to be changed anyway.

---

# Candera AssetLoader

#### Release Orphaned Cached Objects

A new method [DefaultAssetProvider::ReleaseOrphanedObjects](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_default_asset_provider.html#a91d56d4786054a4804acf998f7788841) has been introduced to release all cached shared objects that are only referenced by the [DefaultAssetProvider](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_default_asset_provider.html "Implements objects handling mechanisms. It implements the interface AssetProvider and holds an asset ..."). Objects referenced also from other places are maintained so that they may be retrieved at a later time.

---

# Candera Device

#### Mapping from OpenGL to Candera for Blend Settings

The GlTypeMapper has been enhanced to map blend factor and operation from OpenGL type to [Candera](http://dev.doc.cgistudio.at/APILINK/namespace_candera.html "[DataBinding_RefTypeSample]") enums. The functions are used to resync the render state cache for blend factor and blend operation.

---

# TextEngine

#### Configuration for Hinting and Anti-Aliasing

New interfaces allow configuration of hinting. According functionality is supported by FreeType integration.

The new method [TextRendering::Font::SetRequestedGlyphFormat](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_text_rendering_1_1_font.html#a92c945ce5945b332320c3e68dee77e75) allows also to choose value "Monochrome" as [Candera::TextRendering::GlyphBitmap::Format](http://dev.doc.cgistudio.at/APILINK/struct_candera_1_1_text_rendering_1_1_glyph_bitmap.html#a5c135c8ae0f42aaad6d250aa6ae6b7fa "Format of the pixel buffer.") which disables anti-aliasing but might give good results with small font sizes or in use cases with low color resolution (e.g. monochrome display).

<div class="contents" id="bkmrk-see-also%3A-textrender"><div class="textblock"><dl class="see"><dt>**See also:**</dt><dd>[TextRendering::Font::SetHintingMode](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_text_rendering_1_1_font.html#a9a768ce930fff71ed1fc6398e4a15e95)</dd><dd>[TextRendering::Font::SetHintingEnabled](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_text_rendering_1_1_font.html#aebfdc5b60e4ddafa35065c5d33bc9ce9)</dd><dd>[TextRendering::Font::SetAutohintEnabled](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_text_rendering_1_1_font.html#ab9e5ba935a28985ec47c1fe290dcbfff)</dd><dd>[TextRendering::Font::SetForceAutohintEnabled](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_text_rendering_1_1_font.html#af57b8dbdaca17b1bd51c87fcdebfa3da)</dd><dd>[TextRendering::Font::SetRequestedGlyphFormat](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_text_rendering_1_1_font.html#a92c945ce5945b332320c3e68dee77e75)</dd></dl></div></div>---

# Courier V3.0.1

#### Notes

---

# SceneComposer V3.0.1

# SceneComposer Usability Improvements

#### Shader Warnings

Shader warnings generation was activated (deactivated in previous version, 3.0.0).

**See also:**

<div class="contents" id="bkmrk-shader-consistency-c"><div class="contents"><div class="textblock">- <span style="color: rgb(230, 126, 35);">[Shader Consistency Checker](https://doc316en.candera.eu/link/146#bkmrk-shader-consistency-c)</span> in SceneComposer User Manual

---

</div></div></div>#### Shader Consistency Checker

Shader Consistency Checker refers to validations of the shader params (attributes and uniforms defined in shaders) based on some rules. Most shader param problems are reported for appearances of nodes after checking the vertex buffer of the mesh versus the shader program referenced by the appearance versus the uniform setter of the appearance.

**See also:**

<div class="contents" id="bkmrk-shader-consistency-c-2"><div class="textblock">- <span style="color: rgb(230, 126, 35);">[Shader Consistency Checker](https://doc316en.candera.eu/link/146#bkmrk-shader-consistency-c)</span> in SceneComposer User Manual

</div></div>---