# CGI Studio 3.0.3

# Candera V3.0.3

Release Date: March 20, 2015  
  
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\_0\_3.

# Candera Engine 3D

#### Planar Shadow Alignment

It is now possible to align the class [PlanarShadow](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_planar_shadow.html "PlanarShadow implements a simple technique to simulate shadow casting. Basically a PlanarShadow node ...") to a [Node](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_node.html "The class Node is an abstract base class for all scene graph nodes. Each Node defines a local coordin...") specified as the alignment [Node](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_node.html "The class Node is an abstract base class for all scene graph nodes. Each Node defines a local coordin..."). The receiving [Plane](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_plane.html "The class plane has an infinite extension and is defined by a direction vector (x,y,z) that is the normal to the plane and the distance (d) to the origin of the Cartesian coordinate system. The plane equation is as follows: ax + by + cz + d = 0. Distance from a point to a plane when x,y,z is normalized is calculated as follows: D = |ax + by + cz + d|.") orientation (direction and distance) is then interpreted as being in object space of the specified [Node](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_node.html "The class Node is an abstract base class for all scene graph nodes. Each Node defines a local coordin..."), making it possible to transform the receiving plane with the given alignment [Node](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_node.html "The class Node is an abstract base class for all scene graph nodes. Each Node defines a local coordin..."). Until now the [Plane](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_plane.html "The class plane has an infinite extension and is defined by a direction vector (x,y,z) that is the normal to the plane and the distance (d) to the origin of the Cartesian coordinate system. The plane equation is as follows: ax + by + cz + d = 0. Distance from a point to a plane when x,y,z is normalized is calculated as follows: D = |ax + by + cz + d|.") was oriented in world space always.

If the alignment [Node](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_node.html "The class Node is an abstract base class for all scene graph nodes. Each Node defines a local coordin...") is set to null then the [Plane](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_plane.html "The class plane has an infinite extension and is defined by a direction vector (x,y,z) that is the normal to the plane and the distance (d) to the origin of the Cartesian coordinate system. The plane equation is as follows: ax + by + cz + d = 0. Distance from a point to a plane when x,y,z is normalized is calculated as follows: D = |ax + by + cz + d|.") orientation is interpreted as being in world space.

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

</div></div></div>#### Query Interface

The class [Query](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_query.html "The class Query enables an interrogation of the Render Device for certain states, for instance whethe...") and the corresponding RenderDevice interfaces allow to process individual, asynchronous GPU-related queries as provided by OpenGL ES 3.0 API or higher. Queries can be used to determine whether and how many pixels have been rendered in user-defined bounds, which can be used e.g. for techniques like occlusion culling and lens flares.

---

# Candera Device

#### OpenGL ES 1.1 Render Device

A Render Device implementation for OpenGL ES 1.1 has been added for future usage by platforms supporting only this OpenGL ES version.

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

</div></div></div>#### Uniform Location Caching

Introduced Uniform Caching for Auto uniforms to increase performance. Calls to GetUniformLocation now pass semantic instead of names as parameter, which speeds up comparison within cache.

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

</div></div></div>#### EGL Context Caching

EGL context caching has been introduced to avoid multiple calls of eglMakeCurrent with same context.

---

# Courier V3.0.3

#### Notes

No changes on top of version 3.0.2.

---

# FeatStd V3.0.3

#### Release Info

<div class="contents" id="bkmrk-release-date%3A-march-"><div class="contents"><div class="textblock">- Release Date: March 20, 2015

</div></div></div>No changes on top of version 3.0.2.

---

# SceneComposer V3.0.3

# SceneComposer Usability Improvements

#### Zoom Display Preview

In some particular situations, the user could need an option to switch back to 100% of a display if its size has been modified. Consequently, the possibility to zoom in Display Preview through options in the context menu of the view has been added (Mantis 5093).

<div class="contents" id="bkmrk-see-also%3A-additional"><div class="contents"><div class="textblock"><dl class="see"><dt>**See also:**</dt><dd>- <span style="color: rgb(230, 126, 35);">[Additional Info about Rendering](https://doc316en.candera.eu/link/3#bkmrk-additional-info-abou)</span> in SceneComposer User Manual

</dd></dl>---

</div></div></div>#### Bitmap Fonts Support

Bitmap fonts are now supported by SceneComposer. In order to use bitmap fonts, the SCHost.dll must be compiled using BitmapFont font engine. Only one font engine can be active at a time in an SCHost.dll.

The user can import 2 types of files as bitmap fonts:

<div class="contents" id="bkmrk-.fnt-%28windows-font-f"><div class="contents"><div class="textblock">- .fnt (windows font files) - are converted to bitmap fonts
- .fbm - already converted bitmap font files

<dl class="see"><dt>**See also:**</dt><dd>- <span style="color: rgb(230, 126, 35);">[How to Import Resources](https://doc316en.candera.eu/books/import-of-resources/page/how-to-import-resources)</span> in SceneComposer User Manual

</dd></dl>---

</div></div></div>#### Font Handling

When a font is imported, 2 new properties will be set:

<div class="contents" id="bkmrk-font-engine%3A-specifi"><div class="contents"><div class="textblock">- Font engine: specifies the font engine that this font is compatible with (Freetype, BitmapFont or Other)
- Source file names: specifies the name of the file which was imported - helps the user identify a font

<div drawio-diagram="2972"><img src="https://doc316en.candera.eu/uploads/images/drawio/2023-03/drawing-7-1677741392.png" alt=""/></div>

<dl class="see"><dt>**See also:**</dt><dd>- <span style="color: rgb(230, 126, 35);">[Import Fonts](https://doc316en.candera.eu/link/1101#bkmrk-image%2C-font%2C-shader%2C-1)</span> in SceneComposer User Manual

</dd></dl>---

</div></div></div>#### SCHost Build Info

In order to help the user identify which font engine is active in SceneComposer, a new Platform menu entry was added: "SCHost info". It displays the configuration that was used to build SCHost, including the font engine.

<div class="contents" id="bkmrk-see-also%3A-schost-bui"><div class="contents"><div class="textblock"><div drawio-diagram="2973"><img src="https://doc316en.candera.eu/uploads/images/drawio/2023-03/drawing-7-1677741422.png" alt=""/></div>

<dl class="see"><dt>**See also:**</dt><dd>- <span style="color: rgb(230, 126, 35);">[SCHost Build Info](https://doc316en.candera.eu/link/34#bkmrk-page-title)</span> in SceneComposer User Manual

</dd></dl>---

</div></div></div>#### Clone Item Multiple Times

Now it is possible to specify the number of clones to be generated, simultaneously, for an item. If this number is greater than 1, the name will be read-only and generated automatically (Mantis 4091).

<div class="contents" id="bkmrk-see-also%3A-copy%2C-clon"><div class="textblock"><div drawio-diagram="2974"><img src="https://doc316en.candera.eu/uploads/images/drawio/2023-03/drawing-7-1677741453.png" alt=""/></div>

<dl class="see"><dt>**See also:**</dt><dd>- <span style="color: rgb(230, 126, 35);">[Copy, Clone, Rename and Delete Items](https://doc316en.candera.eu/link/46#bkmrk-copy%2C-clone%2C-rename-)</span> in SceneComposer User Manual

</dd></dl>---

</div></div>

# Platform-dependent Photoshop Exports

#### Platform-dependent Photoshop Exports

As Dx4 does not have a BitmapBrushColorBlend effect, it was necessary to force BitmapBrushBlend effects to be created instead of the other ones. Therefore a new option was introduced in the Photoshop export dialog: Platform. The user can select the platform to which to export.

<div class="contents" id="bkmrk-"><div class="textblock"><div drawio-diagram="2975"><img src="https://doc316en.candera.eu/uploads/images/drawio/2023-03/drawing-7-1677741508.png" alt=""/></div>

</div></div>---