Skip to main content

CGI Studio 3.7

CGI Studio 3.7 - What's new:

Welcome to CGI Studio 3.7, Candera's software development platform for development of hybrid 2D and 3D graphical interfaces for Automotive Systems.

This page provides information about the most important features added since the last Release.


Auto Values

Auto values is a novel feature which displays parameter/property values internally computed by SceneComposer, Candera or inherited from other objects, as well as the information, that this value was automatically set.

The user can interact with auto-values through the switch button which is available - in the Properties panel - near the field were the value control is displayed as read-only. As can be seen in the image below, a suffix indicates that the value is auto. As expected, if the button is used the value will become editable and the user will be allowed to modify it as desired.

Example: The TextNode2D.LineHeight is a property where the auto values are often used. By switching auto on (which happens by default), Candera will compute the value to be used based on the associated text style. The user can overwrite this auto value through by switching auto off (using the auto button) and force the engine to use the specified line height which now the user can modify. By setting the height to “0” the automatic computation is again enabled and Candera will return to the usage of the automatically determined line height for text placement.

drawing-7-1676371424.png

More information is available in chapter Auto Values.


HMI Report

The HMI Report feature produces statistics, summary and details for the solution loaded in Scene Composer, including but not limited to:

  • How many bitmaps are loaded in this solution? 
  • How many of them are actually used and which is the biggest/smallest? 
  • What controls/behaviors/texts do I have in the solution and where are they used? 

The HMI report is presented in browser in the form of a set of HTML documents. Each document is linked to one another by a navigation bar.

To generate an HMI report after loading a solution, one must click on the Report button from within the main bar in the upper part of the screen and select the Create Solution Report: This will open the HMI Report Customization Dialog, where in the 2 mandatory text fields the user defines where to store the generated output and from where to load the css file necessary to style said HTML documents. Furthermore, using the checkbox grid the user can customize the resulting report.

drawing-7-1676371445.png

The 2 textboxes are for setting up where the output HTML documents shall be stored and from where to retrieve the css file needed to style said HTML documents. These 2 fields are mandatory. The checkbox grid is for selecting which of the available sub reports you would like to have added.

drawing-7-1676371464.png

More information is available in chapter HMI Report.


Annotations

A new property named Annotations was introduced for every SceneComposer element. This property can be used to assign individual information to the selected object and it is located in the Properties panel under the General section. The property can be restored to its default empty state using the Restore Default button.

Annotations are not included in the asset, but only in the HMI report.

drawing-7-1676371498.png

More information is available in chapter Annotations.


Canvas Text Outline

This feature enables adding an outline to a canvas text in a 3D scene by using a dedicated shader program.

drawing-7-1676370592.png

More information is available in chapter Canvas Text Outline.


Support for Object Script Reference Properties

It is possible to assign objects from the solution script component properties. Once a script has been assigned to a node, it is shown as a script component in the scene extra tree (a script having user parameter values) and the property panel will display the properties exposed by the script.

Scripts can use assigned objects for post processing effects, animating nodes in the scenes, starting and stopping animations, and other.

More information is available in chapter Support for Object Reference Properties.


Script Component Templates

It is possible to create a template from an existing script component. To do this, just right click on an existing script component - in Scene extra-Tree - and from the context menu select the "Save as Template... > ScriptComponent..." option.

drawing-7-1676370621.png

More information is available in chapter Script Component Templates.


Post Processing Effects

Until now the rendering flow of the effect had to be modelled completely with the scene graph including manual management of any temporary render targets involved, creating a rigid structure that was hard to extend and tweak since effect parameters were scattered around in the scene graph and its assets. That is why the usage of post processing effects was cumbersome and not intuitive. Consequently, the process was simplified through the introduction of a scriptable post processing pipeline and the creation of predefined effects. Since this version on, the user has the possibility to use them in an easy and intuitive manner, just by dragging and dropping any predefined effect on a camera node, or by creating a new effect with just implementing a single callback in a script.

Four predefined post processing effects are available in the "Templates": "References > SCL:ConstructionKit > ScriptComponents":

  • Bloom 
  • Depth of Field 
  • FXAA ("Fast Approximate Anti-Aliasing") 
  • Blur 
drawing-7-1676370638.png

A new sample "PostProcessing" was added to demonstrate how post processing effects can be used.

drawing-7-1676370197.png

More information is available in chapter Post Processing Effects.


State Machine Extensions for Sub-charting and Debugging

The state machine support has been extended with new modeling and debugging capabilities, for example sub-charts, used to abstract and hide modeling details of complex states and transitions, or the possibility to inspect the active state, transition dynamics and executed actions by attaching to a running Player and opening the State Machine panel.

More information is available in chapter State Machine.


Export Images

If necessary, it is possible to export any imported image from solution to a .png file. This operation can be done through the context menu which is available when right click on any image.

drawing-7-1676371530.png

More information is available in chapter Export Imported Images.


New Controls for CGI Studio 3.7

Breadcrumb Control
CGI Studio 3.7 provides a hierarchical navigational aid for user interfaces called Breadcrumb. 

drawing-7-1676370722.png

More information is available in chapter Breadcrumb.

Circular Slider Control
In addition to the Slider, there is now a circular version called Circular Slider.

drawing-7-1676370751.png

More information is available in chapter CircularSlider.

Dial Control
A Dial behaves similar to a physical rotary switch.

drawing-7-1676370779.png

More information is available in chapter Dial.

Drawer Control
CGI Studio 3.7 provides a control that allows to hide content that can be shown again when it is needed.
This control is Touch Screen compatible, but can also be used with Events.

drawing-7-1676370808.png
drawing-7-1676370818.png

More information is available in chapter Drawer.

Icon Button Control
The Icon Button is a new addition to the Button and TextButton.

drawing-7-1676370875.png

More information is available in chapter IconButton.

Particle Emitter Control
CGI Studio 3.7 provides a way to implement Particle Effects with Controls and Behaviors. 
There is a Showcase of different Particles Effects integrated in the 3D Effects Solution.

drawing-7-1676424069.png

Particles.PNG  
Solution: 3D Effects  

More information is available in chapter Point Sprite Emitter.

Spin Box Control
CGI Studio 3.7 provides a Spin Box. With it Values can be increased or decreased by a certain value.

drawing-7-1676370944.png

More information is available in chapter SpinBox.


Behaviors: Deep Copy/Paste

If a behavior is just the reference of another (parent) behavior, the referenced behavior will be marked by a specific sign and a tooltip will become visible on it:

drawing-7-1676424740.png

If a behavior which contains referenced behavior is copied, a new option will become available in the context menu: "Deep Paste".

drawing-7-1676424763.png

More information is available in chapter Behaviors: Deep Copy/Paste Operation.


Focus Navigation

A default focus navigation has been implemented (based on nearest geometrical neighbor control and/or the tab order defined by the order in the scene tree). This enables changing the focused control to another control instance with keyboard focus navigation events (left, right, up, down, left-up, left-down, right-up, right-down, tab order previous and tab order next).


Gesture Recognition

An abstract interface for gesture detectors has been introduced. Existing gestures (click, press/release and drag/drop) have been restructured to implement that interface. In addition a swipe/flick gesture detector (detecting swipes/flicks to the left/right/up/down) and a transform gesture detector (rotation/pan/pinch) have been implemented.

More information is available in chapter Behavior Gesture.


Enhanced Player

The Player has now a new interface (CGIPanel) that allows to use the newly introduced features like:

  • panel usability on target (TCP/IP, Serial), logging, scripting, render statistics, snapshots or recording of application handling. 
drawing-7-1676425087.png

More information is available in chapter Player.


Enhanced Render Statistics

Render Statistics inform the user about current performance indicators during rendering. Therefore they are of major help when trying to identify performance bottlenecks. This statistic has been enhanced with the following information:

2D:

  • Uploaded BitmapImages 
  • Total Uploaded BitmapImages 
  • Render Camera2D Calls 

3D:

  • Uploaded Textures (incl. breakdown to BitmapTextureImages, CubeMapTextureImages, DirectTextureImages) 
  • Total Uploaded Textures (incl. breakdown to BitmapTextureImages, CubeMapTextureImages, DirectTextureImages) 
  • Uploaded Shader Programs 
  • Total Uploaded Shader Programs 
  • Uploaded VertexBuffers 
  • Total Uploaded VertexBuffers 
  • Render Camera Calls 

If CANDERA_RENDER_STATE_CACHING_ENABLED and CANDERA_DETAIL_STATISTICS_ENABLED are set to true, additional information about Render State Cache Effectivity is available.

  • Render State Cache Hits informs about the number of OpenGL state changes that were saved because the value was already cached. 
  • Render State Cache Misses informs about the number of OpenGL state changes that had to be executed because the new value was not in the cache. 
  • With these values the Render State Cache Hit Rate can be calculated, where 100% would mean no state changes. 

These values are visible either in the Render Statistics Overlay of the Player, the Render Statistics Panel in SceneComposer (only for applicable properties) or directly accessible from the API.

drawing-7-1676370492.png

Default Render Target

A new camera is automatically assigned to a default render target. The user can specify a default render target via context menu in the Render Target panel. In case that no default render target is defined a default render target is set automatically when a new camera is created. Especially for beginners this features eases the start with Scene Composer.