CGI Studio 3.10

Release Date: June 2021

General 3.10

General Changes

This page describes general updates that were made to CGI Studio for version 3.10.

Documentation and Sample Updates

  • New documentation for the Smart Importer.
  • Visually updated Getting Started Controls sample.
  • Quick Start Guide for the Smart Importer function, which can be found in the following location:
    • <CGI Studio root folder>\cgi_studio_docs
  • Small updates to several articles to remove outdated information or images.
  • Allows you to share data and services between multiple clients (for example, dashboard, HUD, smart devices, PC applications).
  • Supports remote rendering and streaming services.
  • Link Hub allows you to verify that clients are receiving the fastest service near their location.

MATLAB Connector (MLC) Improvements

Tool Improvements:

  • Added support for Visual Studio 2017 & 2019 to build scripts.
  • Added support for up-to-date CMake version with architecture flag support to build scripts.
  • Added support for build folders on different drives to build scripts.
  • Added option to change the “Default Signal Port Type” for new signals.
  • Signal generator generates additional name and data-type information for each signal. This can be used for debugging/logging purposes.
  • Model & Signal generator now supports namespaces and using parameters. This provides more flexibility for application development.
  • Fixed error for Input-Panel signals when using “Auto” port type before setting a data-type for the signal.

Templates:

  • Application templates will initialize the display with the size specified inside that asset file instead of a hard coded value.
  • Improved continuous invalidation implementation (reduces messages sent).
  • Default-Construction-Kit Template has its “Default Signal Port Type” set to “Auto”.
  • Default-Construction-Kit Template now includes a “MLC-Event Action Behavior” which can be used in conjunction with Controls/Behaviors to receive react to control events in MATLAB.
  • Templates now generate Model into the “MLC” namespace.
  • Various code cleanups.

Documentation:

  • Updated “Prerequisites” and “Compiler Setup” chapters.
  • Added “Debugging” chapter.
  • Added “MLC-Event Action Behavior” chapter.

Extended Hardware Support

Additional support has been added for the following hardware,

  • Traveo II
  • NXP iMX8
  • STMicroelectronics STM32

Multilanguage Support (Japanese)

CGI Studio now provides Japanese language support for the following applications,

  • Scene Composer
  • CGI Player
  • CGI Studio Control Center

 

Candera 3.10

Spark engine support

Support for Monotype's lightweight font engine geared towards lower end devices has been added. This engine will require the third-party provisions from Monotype to function properly. The Spark engine can be selected using a CMake flag after choosing Monotype as your font engine. Further information regarding this process be found in this documentation.

Updated and extended RICOH fonts

Updated and extended RICOH fonts have been provided by RICOH for CGI Studio 3.10.

  • Japanese (HGSHeiseiMarugothictaiW4)
  • Simplified Chinese (HGJHeiM Simplified)
  • Arabic (HG RTSans Arabic)
  • Korean (HGNewGothicM Korean)
  • Thai (Five typefaces)
  • Vietnam (Five typefaces)

Support of colorized glyphs

The CGI Studio TextEngine and its integration of Monotype's iType library now supports colored bitmaps from the CBDT table of truetype/opentype fonts. The freetype integration does not support this yet.

Scope of the new functionality:
  • Monotype must be configured as font engine (see CMake configuration below)
  • TextNode2D must be used (not supported with CanvasText, not supported by deprecated TextEffect)
  • TextNode2D has 2 renderers available when using Monotype: Bitmap and GlyphAtlas. The option "Bitmap" must be used.
  • Colored glyph bitmaps are taken from the font file as they are. No scaling is applied. Matching different font sizes must be achieved by adding different sized glyph bitmaps to the font file.
  • Text color is always applied as color multiplication. Therefore the colored bitmaps are colorized with the text color. Only white text color preserves the original image colors.
CMake configuration
  • Choose "Monotype" for CANDERA_FONTENGINE
  • Turn on new flag CANDERA_TEXTENGINE_COLORBITMAP_ENABLED

The third party library "lodepng" has been added to decode images in PNG format. It was added to the cgi_studio_3psw folder, and its path is set to the CMake variable CGISTUDIO_LODEPNG_INCLUDE_PATH. The third party library "lodepng" is licensed under "zlib License".

Cache

It is possible to change the cache size of the maximum cached colored bitmap elements. The macro is defined as: CANDERA_TEXTENGINE_COLORBITMAP_CACHE_ELEMENT_COUNT - default value: 20 It can be changed by e.g. compiler flag (-D... or cmake add_definitions). Alternatively, it can also be added to the generated config headers directly.

Notes

The colored glyphs will use a 32 bit per pixel RGBA format, while regular glyphs use an 8 bit per pixel alpha format. As soon as a text contains one or more colored glyphs, the bitmap generated by TextNode2D is in RGBA format. This means that the bitmaps generated for such TextNode2D instances require 4 times more memory compared to TextNode2D instances without colored glyphs. The colored glyphs are cached internally by the TextEngine in RGBA format. This cache also contributes to an increased memory consumption.



Controls 3.10

New Controls

Sub-List Control

This control can be added as a child node to an existing List control. The Sub-List can be aligned horizontally or vertically independent of the parent List.
The Sub-List action will allow you to collapse or expand this menu. This will allow you to create a list menu that shows additional content on demand.


 

Control Behaviors 3.10

New Behaviors

The following Behaviors have been added in CGI Studio 3.10:

  • Sub-List Behavior: Behavior used in the Sub-List control.

Modified Behaviors

The following Behaviors have been modified in CGI Studio 3.10:

  • List Behavior: Added Focus Navigation to static List control.

 

SceneComposer 3.10

Changes

Smart Importer

The new Smart Importer function will allow you to import files from Photoshop or other design tools, then directly map elements within the file to CGI Studio controls using a built in AI service.
For more information regarding the full functionality of this tool, please reference the Smart Importer article.