CGI Studio 3.4.2

Release Date: January 2018

Candera V3.4.2

Candera V3.4.2

Candera/FeatStd CMake Build System Changes

Due to refactoring the layouter the flag to enable layout is no more appropriate as it is not only a feature for 2D anymore but also for 3D.

V3.4.1 V3.4.2
CANDERA_2D_LAYOUTING_ENABLED CANDERA_LAYOUT_ENABLED


Candera V3.4.2

Candera Base

Layout support for 2D and 3D (Canvas only)

The 2D feature to layout nodes by common dynamic layouters has been introduced into 3D now. As a starter only Canvas nodes are supported. This means CanvasGroup, CanvasSprite and CanvasText.

The supported layout types are equal to 2D:

  • Baseline
  • Grid
  • Stack
  • DockPanel
  • Overlay
  • Default

The layout is currently applied to the X,Y - plane. The layouter now uses AbstractNodePointer and CanderaObject types instead of the 2D only node types.

Restrictions on this version are given as follows:

  • Layout clipping in 3D canvas is not supported yet
  • Z-Fighting: When using the overlay layouter nodes are above each other but have the same Z coordinate. Therefore, these nodes have z fighting. It is planned to automatically solve this. However, for this version, it is advised to set the Depth Bias Unit of the Appearance - RenderMode. Changing the appearance of a CanvasSprite instead of CanvasText is strongly recommended. CanvasText requires only one draw call for all texts with equal conditions. One of them is the Appearance. Changing the render mode removes the shared appearance and produces an additional draw call.

Courier V3.4.2

Release Info

  • Release Date: September 2017

Changes

  • Reimplementation of Default RenderJobStrategy Sorting Operator
  • Integration of 3D layout

Reimplementation of Default RenderJobStrategy Sorting Operator

RenderJobStrategy::operator() is now implemented as 'strictly less' RenderJobVector::Sort() comparison function over render jobs, according to following criteria (from Courier\Visualization\Renderer.h):

  1. Offscreen render jobs before Display render jobs.
  2. 2d render jobs before 3d render jobs. (this criteria can be disabled by a new configuraton flag now)
  3. Clear render jobs before normal view render jobs.
  4. Lower camera sequence number before higher camera sequence number.

Integration of 3D layout

The 3D layout functionality support has been added to courier equal to 2D.



FeatStd V3.4.2

Release Info

  • Release Date: September 2017

Interface Changes

  • Removal of Log Realm limitation
  • Extension of Initialized and Optional classes by comparison operator

Removal of Log Realm limitation

The name of a log realm were bound to a maximum length of 32 characters including the terminating null byte. This limitation has been removed. Existing logger (appender) are using the CMake macro FEATSTD_LOGGER_MAX_BUFFER_SIZE now. If the name is still too long and does not fit into the buffers, this CMake flag can be adjusted accordingly. Note that appenders statically reserve these buffers.


Extension of Initialized and Optional classes by comparison operator

The Initialized and Optional classes are extended to forward the comparison operators to the underlying value. This includes pointer comparison if the type is a pointer type.


UnitTest-Helper extended by MemoryLeak check

The unit test helper class 'EnvironmentTestEventListener' includes a memory check after all test cases. The check is done after all subtests of a test (class) are done and the teardown for this test case has been processed. It shows new potential leaks after the test case. This feature is only available if MemoryPools are enabled and memory leak detection for MemoryPools is also enabled.

Important notes: Static preallocations which are available over the complete runtime are marked as memory leaks even if they are cleaned up correctly afterwards. Additionally, unit tests may have no focus on correct clean ups. These memory leaks are also visible.



Analyzer V3.4.2

Release Info

  • Release Date: September 2017

Feature Changes


 

SceneComposer V3.4.2

SceneComposer V3.4.2

SceneComposer Usability Improvements

3D Layout for Canvas Nodes

A new feature - "Layouter" - is available for canvas groups. The settings for this feature can be done through a category with the same name available in the Properties panel. The functionality of 3D Layout for canvas nodes is similar with the usage of those layouters known from SceneComposer 2d scenes. By using this feature a Canvas Group is able to align its nodes (group, sprite, or text) according to the configured layouter. The available layout types are identical with those used for the 2D layouters:

  • BaseLine Layouter
  • Grid Layouter
  • Overlay Layouter
  • Stack Layouter
  • DockPanel Layouter

The "Ctrl+L" command is the shortcut for the "Do Layout" operation. Please, note, that in the case of 3D layout for Canvas nodes, this command will update both the position and scale' values for the selected object.

See also:

Safety Improvements

Since this version on it is possible to create animations for safety content and to export them to safety generated asset (Polarion CGI1-18264).

Any safety node can be animated by using the following animated properties:

  • Position
  • Scale (except for Groups)
  • Alpha Transparency
  • Rendering enabled
  • Text Color (on Text Node only)

In comparison with an animated node from a 2D or 3D scene, the animation for any safety node are limited in the following way:

  • Safety Animations do not support Bezier & Spline interpolation;
  • Ease interpolation does not support other functions except for Power. The only available types of interpolation are "Step", "Linear", and "Ease".

When a safety asset library is generated, warnings are written in the Output panel even though the generation is not restricted (Polarion CGI1-18375). For instance, some issue warnings for content (e.g. bmp) used in both Safety and Convenience asset will be written in the Output.

See also:
  • Safety Support in SceneComposer User Manual