What's new This section highlights the most important new features of new Releases. CGI Studio 3.16 - Community Edition CGI Studio 3.16 Community Edition - What's New Welcome to CGI Studio 3.16 Community Edition, Candera's first free software development platform for hybrid 2D and 3D graphical interfaces for embedded systems. Along with this new release a few new implementations have been added to our package: New Community Edition Samples New Sauna Screen solution sample New Coffee Machine solution sample New Pollen Infoscreen sample Scene Composer / Hardware Deployment Solutions and assets created with our Community Edition are not compatible with our Professional and Enterprise Editions. Runtime Limitation and Watermark will take effect in hardware deployments. Every new user will get 3 free vouchers upon registering in our Community Forum . These vouchers can be used to unlock 3 hardware deployments without any of above mentioned limitations. Field of Usage The Community Edition is for private usage and educational purposes only. All aspects or commercial usage are prohibited. If you want to upgrade to the Professional Edition please send an e-mail with the subject  Community Edition Upgrade to sales@candera.eu . Please include the following information to speed up the process: name, company name, e-mail, phone number, country, optional: job title. Documentation Online documentation ( Link ) Updated video tutorials including solutions ( Link ) This page provides information regarding the most recently added features and updates since our last release. CGI Studio 3.16 CGI Studio 3.16 - What's New Welcome to CGI Studio 3.16, Candera's software development platform for hybrid 2D and 3D graphical interfaces for embedded systems. Scene Composer Introduced View Editor for easier and more intuitive scene composition Embedded Player option to launch the player directly within Scene Composer Multi‑view support enabling enhanced 3D authoring with up to four camera views Smart Importer with improved Figma import handling and better user feedback Enhanced  HASP licensing integration for simplified license management Added  XLIFF support for streamlined localization workflows Updated Monotype Spark Engine and added outer glow effect   General stability and performance improvements Streamlined behavior set via Scene Composer Plug-in Ricoh fonts removed Samples New Instrument Cluster solution template New In-Vehicle-Infotainment solution template New glTF 3D effects sample Minor improvements to several solutions Engine and Player added effect support for various glTF 2.0 extensions Light punctual Unlit extension Clearcoat Anisotropy Specular Iridescence IOR (index of refraction) Sheen Emissive strengh iOS support Vulkan support Software Renderer Improved picking performance Traveo II MJPEG support CGI Studio Connector The CGI Connector has been enhanced to improve stability and usability of the tool. Documention AI based chatbot for documentation removed outdated video tutorials This page provides information regarding the most recently added features and updates since our last release. CGI Studio 3.15.1 CGI Studio 3.15.1 - What's New: Welcome to CGI Studio 3.15.1, Candera's software development platform for hybrid 2D and 3D graphical interfaces for embedded systems. This page provides information regarding the most recently added features and updates since our last release. Scene Composer Performance improvements. Added Core controls to the GettingStartedControls sample solution . Added “ Set the "Is Indexed" property of the vertex buffer to enabled ” which can be used when importing FBX files. Automatic Invalidation Dependency calculation for Dirty Area Management Improved import procedures for 3d Models (glTF and FBX) Added upgraded post-processing sample Improved connection handling to target when using Text Size Report and many smaller improvements Smart Importer Adjusted default values for Pivot Point settings. Added " Freehand dialog background color " setting to the Freehand dialog. Candera Engine Added support for Traveo II hardware JPEG decoder New scene and camera invalidation relying on Invalidation Dependencies stored in the asset for Dirty Area Management Bitmap Stride information is automatically set on supported platforms. Core Controls A new set of Core Controls has been introduced. These controls are designed to minimize functionality to achieve smaller memory footprints and improved performance. They are particularly suitable for low-end platforms or as a foundation for custom control development. For more details, please refer to this page . Control Behaviors CMake Flags Within the new CMake environment, several CMake flags have been introduced to tailor the Control Behaviors included in the build. For more details, please refer to this page . Professional Edition Improved CGI Studio Professional Edition installer Improved user onboarding with easier setup for supported hardware platforms Documentation Added a comprehensive Traveo II best practices guide Overhaul of several sections in the user documentation CGI Studio 3.15 CGI Studio 3.15 - What's New: Welcome to CGI Studio 3.15, Candera's software development platform for hybrid 2D and 3D graphical interfaces for embedded systems. This page provides information regarding the most recently added features and updates since our last release. Solution Creation Improvements The Scene tree UI/UX improvement Improved usability of Solution Wizard dialog Enhanced data binding dialog (added filter function ) Enhanced 3D functions Implementation of wireframe switching function Added mask support for blur effect Enhanced import function Support for importing FBX files with multiple animation tracks Original image file retention function FBX can be imported as wireframe mesh Create and set sharable IBL textures when importing glTF files Smart Importer Figma Layout support Added a function to set the default value of the FormatText property Improved the font selection dialog Applied custom controls to the Smart Importer dialog and improved the UI CGI Studio Connector CGI Studio Connector has been implemented as a tool for connecting the CGI Studio Courier application to other systems. For more information, please refer to here . Monotype This feature to load font bitmap data into the font engine cache has been implemented. For details, please refer to here . New Behaviors Orbit Camera Transform he functions have been expanded to enable the definition of unnecessary areas where the camera cannot move, for example underground. Demonstration The behaviour set has been implemented for the purpose of automatically looping without user operation at exhibitions and presentations for example. IdentifierValueMap The behaviour allows reacting on specific keywords. It is introduced with the Soundhound integration, which allows reacting the solution, when the user inputs a specific voice command.  CGI Studio Professional Edition  Next to the CGI Studio Enterprise Edition, a newly introduced Professional Edition is available. Its purpose is to create HMIs easier and faster, with fewer steps required to finalize the HMI (e.g. no compiling of the player and easier Python based data binding). Help system (This document) updated Enhanced search function (Supports regular expression searches) For more information on how to use the new help system, please click  here . CGI Studio 3.14 CGI Studio 3.14 - What's New: Welcome to CGI Studio 3.14, Candera's software development platform for hybrid 2D and 3D graphical interfaces for embedded systems. This page provides information regarding the most recently added features and updates since our last release. Solution Creation Improvements 3D Feature Enhancements Import 3D models with skinning Support for custom OpenGL shaders in 2D scenes Implementation of " Fit to Screen " (2D scene) Courier Editor Feature Improvements Easier access from Scene Composer Improved usability when configuring your data-binding source files (See here for examples of use) Updated Sample Solutions ( 3DEffect , 2DEffect , OpenGL 2D Effects ) Usability Improvements High Resolution Support Scene Composer and Control Center user interface now supports high resolution settings on Windows  Newer and sharper icons are available, independent of your Windows DPI settings New Patch Application Process an easier and safer way to update your CGI Studio Easier handling with Scene Composer's Text Style Editor Setting Ascender and Descender properties for fonts now possible Extended drag & drop functionality incl. duplication of objects in Scene Tree New CMake Environment and starting points A new CMake system was introduced to CGI Studio. This approach has several advantages: it is based on newer CMake versions (CMake 3.19.0 or higher is required): some newer CMake features allow for a much simpler configuration cleaner and idiomatic overall implementation: everything is implemented in a way following guide-lines from CMake.org. This makes it also easier to use it, as there is a lot of community documentation available. better structure and order of the configuration: with the old system it is often quite difficult to find the correct place where all necessary information is available (such as target or OS information) See Build System Setup for more details. 3D ADAS template scene Template of an instrument cluster containing a modifiable 3D ADAS control. Help system (This document) updated Enhanced search function Implementation of bookmark function For more information on how to use the new help system, please click  here . CGI Studio 3.13 CGI Studio 3.13 - What's New: Welcome to CGI Studio 3.13, Candera's software development platform for hybrid 2D and 3D graphical interfaces for automotive systems. This page provides information regarding the most recently added features and updates since our last release. Scene Composer improvements Improved Zoom Display Preview in the display panel Toolbar improvements to reduce clutter (main screen, 2D/3D scene editor and animation timeline) Improved Text Style Editor feature Improved Search Panel UI Added a rendering-based Text Size Report feature Long path name support Windows 10 version 1607 or later supports paths of up to 32767 characters (previously 260 characters) 64 bit support Import feature improvements Improved import dialog UI Integrated file format import menu into [ Import Resources ] and improved UI transition when import is executed. Support for drag-and-drop glTF import into Solution Explorer Disabled 3D model import on OpenGLES1.1 platforms Other minor modifications For more information on the above points, please see the article in Import of Resources chapter. Diagram Bird's Eye The feature to get a bird's eye view of the entire Fusion diagram or State Machine Editor has been added. For more information on this feature, please see Diagram Bird's Eye article. Easy Mode  Easy Mode has been implemented as a standard feature to customize the properties of each element. Until CGI3.12, it was necessary to generate an Easy Mode configuration file using the "SceneComposerConfigurator.exe" file, but now customization is possible from the preferences. Its configuration can still be exported or imported to easily sync between many users. For more information on this feature, please see  Easy Mode article. Fusion Additional context menu on Fusion diagrams Diagram Bird's Eye feature support For more information on this feature, please see Fusion>Basic Operation article. State Machine Undo/Redo functionality Additional context menu on State Machine Editor Priority setting for Transitions Alignment of multiple items Shortcut key features for fast state machine modifications Zoom operation support Diagram Bird's Eye feature support Improved the state machine data in the solution file (SCML).  For more information on this feature, please see State Machine>Components in State Machine and State Machine>Basic Operation articles. Improved control/behavioral Added List Editor functionality to BarGraph and LineGraph controls Added Snap List Item Extension behavior Monotype Supported versions have been updated for iType and WT-Shaper. For more information, see CGI Studio 3PSW on CGI Studio Components page. Help system (This document) updated Browse through history with forward/backward feature Improved search function and additional in-page search function (Ctrl+F) New feedback feature to communicate with Candera team For more information on how to use the new help system, please click  here . CGI Studio 3.12 CGI Studio 3.12 - What's New: Welcome to CGI Studio 3.12, Candera's software development platform for hybrid 2D and 3D graphical interfaces for automotive systems. This page provides information regarding the most recently added features and updates since our last release. Smart Importer Figma format support Expanded control mapping functionality with AI And many other smaller improvements  For more information regarding the full functionality of this tool, please reference the Smart Importer article. Vector Graphics Support Support of vector graphics in CGI Studio Import of SVG into yours For more information regarding this feature, please reference the SVG article. Fusion Editor Design your applications without writing any code and create your own HMI logic via drag and drop For more information about the Fusion Editor , please see the documentation about Fusion .  3D Shapes Control Many new 3D Shapes controls have been added, such as Arrow, Capsule, Cone, Disc and so on. They are available from the toolbox Controls>3D Shapes. Scene Composer Improvements Updated and added sample solutions   2D Basic, 3D Basic, 3D Getting Started, MenuScreen updated Industrial added Added URI functionality for requirement tracking Automatic import feature improved Improved Properties panel Referencing external resource functionality (Android Platform only) State machine editor functionality added Pseudo state machine functionality Improved HMI report function Display Preview support HMI Rotation support Rotation and zoom functions in the Player Panel Rotation and zoom functions have been added to the Player Panel. For details of the functions, please click here . Help system (This document) updated A new UI help system with search and browsing history functions has been implemented. Tutorial videos previously accessed from external sites have been integrated into this help system. For more information on how to use the new help system, please click here . CGI3.16 release and later, tutorial videos are no longer included in this documentation. New Behaviors Set External Bitmap Retrieves a bitmap and sets the bitmap of the associated Render Node when its action is triggered. Check External Resource Change Reacts on ExternalResourceChangedEvents, reloading the resource and invoking an update if ExternalResourceMangerId  and ExternalResourceId match. External Bitmap Provider Retrieves an external bitmap with ExternalResourceId from an external resource provider with ExternalResourceManagerId and provides the bitmap to an associated bitmap node. CGI Studio 3.11 CGI Studio 3.11 - What's New: Welcome to CGI Studio 3.11, Candera's software development platform for hybrid 2D and 3D graphical interfaces for automotive systems. This page provides information regarding the most recently added features and updates since our last release. Smart Importer CGI Studio’s Smart Importer supports now Adobe XD format  Direct import without converters of Adobe XD, Adobe Photoshop, Axure RP and Sketch  Automatic sizing support  Selection of empty bitmaps  And many other smaller improvements  For more information regarding the full functionality of this tool, please reference the Smart Importer article. Chart Control A bar graph and a line graph got added. A bar graph is a graph that presents categorical data with rectangular bars with heights proportional to the values that they represent. A line graph or curve graph is a type of chart which displays information as a series of data points connected by straight line or spline segments. For more information regarding the full functionality of this tool, please reference the BarGraph and LineGraph articles in the Predefined Controls . Scene Composer Improvements Support for multiple global state machines  Improved support for color palette  Support of partial execution of animations  State Machine usability and performance improvements  Dynamically changing text style behavior  Improved HMI Report interface  Documentation and Sample Updates Newly added and reworked documentation about Axure RP Guide   Multiple global State Machines tutorial  New IVI sample & tutorial  Updated Smart Importer best practices document \cgi_studio_docs\  MATLAB Connector (MLC) Improvements Added IPC integration to allow running the CGI Application independently from the MATLAB state machine. Tool Improvements : Changed dialog windows to appear on the same screen as the main window.  Changed generated code to use the MLC namespace.  Changed HMI-Signal-Buffer to separate Output-Signal and Input-Signal processing to allow reduction of delays in specific use cases.  Changed HMI-Signal-Buffer methods to be virtual to support custom modifications.  Changed default compiler to Visual Studio 2017 (previously Visual Studio 2010)  Added support for Toggle-Buttons to the Input-Panel.  Added new “Generate Code” build option.  Added build flags to configure MEX (MATLAB Executable) compiler settings.  Added generation of additional meta-info for signals (Signal-Type, Data-Type) for enhanced logging capabilities.  Fixed an issue where the port-type setting is being reset when the signal type is changed.  Fixed Input-Panel build issues for 64-Bit systems.  Templates : Changed templates to support changes related to generated code.  Added IPC integration. This allows the CGI-Application to run independently from the MATLAB state machine offering multiple benefits: Improved stability due to separated processes.  Improved diagnostics as the console window of the CGI-Application is now visible.  Easier debugging as the CGI-Application can now be debugged normally.  Faster testing on target as target device can connect directly to MATLAB simulation.  Easy to integrate additional features like recording and replaying of signal data.  Documentation : Added “MLC IPC” chapter.  Cybersecurity - ISO/SAE 21434:2021 Candera has developed a guideline to integrate CGI Studio into a cybersecurity-relevant software stack. The document, available on demand, aids cybersecurity managers and engineers to accurately assess the risks and vulnerabilities of CGI Studio, and integrate it properly into their product and their Cybersecurity Management System. Platform Support Extended platform support for NXP iMX8 Nano Extended platform support for STMicroelectronics STM32MP1 series Multiple display support for DRM/KMS devices CGI Studio 3.10 CGI Studio 3.10 - What's New: Welcome to CGI Studio 3.10, Candera's software development platform for hybrid 2D and 3D graphical interfaces for automotive systems. This page provides information regarding the most recently added features and updates since our last release. Smart Importer The new Smart Importer function will allow you to import files from Photoshop, 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. Multilanguage Support (Japanese) CGI Studio now provides Japanese language support for the following applications, Scene Composer  CGI Player  CGI Studio Control Center  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_docs  Small updates to several articles to remove outdated information or images.  Monotype Spark Engine Monotype’s Spark font engine has been integrated into this latest version of CGI Studio. For more information regarding this topic, please reference the Spark Engine article. New Sublist Control A new sub-list control has been added. This control will allow you to embed submenus within lists which can be conveniently expanded or collapsed. For more information regarding this control, please reference the Predefined Controls section for more information. Candera LINK Remote Rendering 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 in close proximity to 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 Target Hardware Support Traveo II  NXP iMX8  STMicroelectronics STM32  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)  CGI Studio 3.9 CGI Studio 3.9 - What's new: Welcome to CGI Studio 3.9, 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. Control Center In CGI Studio Release 3.9.0 we are proud to announce the Control Center - a new tool that integrates all tools of the CGI Studio product chain. For new users, it provides a dashboard from which the Scene Composer, the Player, the Analyzer and the SCHost/application builds can be done with a button click. For advanced users it also allows them to edit and build the CGI Panel, edit data bindings and Courier definitions. For clients with complex processes, it allows changing the scripts used for the operations above and customizing them to fit their needs. All this information is stored in a Control Center solution that is specific to a certain application/Scene Composer solution, making it easy to share it between multiple users. [More...] Android Improvements NativeViewLibrary has been updated: Switched from external CMake build with shared libraries to a fully integrated CMake build in Android Studio. This allows easier debugging of native cpp code.  Android Control: The new Android Native View Control is a lightweight option for Android application developers to include advanced rendering with CGI Studio directly into the Android application. Like any other Android control (e.g. buttons, sliders), it can be configured directly in Android Studio. The communication between CGI Studio’s Android Native View Control and the CGI Studio graphics engine is conducted with JSON events. CGI Studio’s Android Native View Control enriches default Android applications with state-of-the-art 2D and 3D rendering including high-quality animations and effects. CGI Studio rendering can be easily integrated into Android application and interact with Android default HMI with the new Android Native View Control.  More information can be found in our Forum CGI Studio Lighthouse. ASTC Texture Compression Support for OpenGL ES 3.2 For improving rendering performance, bitmaps can now be converted to an ASTC format (Adaptive Scalable Texture Compression Format). SceneComposer now offers a new bitmap converter that can be selected for a BitmapProfile, called AstcBitmapConverter, and 14 ASTC formats to choose from. SceneComposer User Interface Improvements CGI Studio 3.9.0 offers the following improvements of the user interface:  Animation Group Timeline : Toggle Begin with / Begin after parent animation Time delay in milliseconds Empty Solution Settings : Width/Height Units Pixels/Inch Background Color Color Depth Scene Tree - Quick Action Toolbar : Lock Visibility Opacity CGI Player - Value Generator This feature in CGI Player provides the possibility to simulate the change of values on view elements.  With this, view elements/controls can be simulated without logic implementation. [More...]   Smart Photoshop Importer The Smart Photoshop Importer provides the ability to import Photoshop files in a smart way using Artificial Intelligence. This feature is in preview state. [More...]  CGI Studio 3.8 CGI Studio 3.8 - What's new: Welcome to CGI Studio 3.8, 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.  Release Package Signature CGI Studio Release Packages will now be released with a Release Package Signature. This way you can always make sure that the delivery is from Candera GmbH and it includes the original files without any change. [More...] Adorners - Gizmos for Layouters CGI Studio offers the option to use adorners for an easy manipulation of the nodes inside layouters. The adorners gizmos can affect the following properties: Vertical Alignment, Horizontal Alignment, Size and Margin (Left, Top, Right, Bottom) in the Layout category and the Position in the Transformations category. This editing can now be done using the mouse and keyboard without having to manually change the node properties values. [More...]   LayoutMonitor Support in Player The Layout monitor is a feature that allows the user to see the relevant areas computed by the layouter as an overlay on top of the rendering of the application. The user can select nodes in the scene tree, the layouter rectangles are drawn automatically. The visualization is useful to understand how the dynamic layout is applied. Additionally the retrieval of various layout properties is available. The feature is available in the Player. [More...]   New Controls Keyboard Control : The Keyboard Control emulates physical computer keyboard that enables a user to enter characters into an InputField Control. The Keyboard Control is highly customizable via Configuration Script described below. To use the Control one needs to connect an InputField with a keyboard via KeyboardAction with Action Open. When the InputField send the event, the Keyboard appears and sends pressed characters to the InputField that activates it. [More...] Roll Control : The Control represents a vertical list of numeric values from a specified range with a specified step. Current value of the Control is visible in the middle of the control and can be zoomed like using lens. Changing the current value can be animated and can be done using touch/pointer or configurable keys of a keyboard. One can edit the current value of the Control by entering it with a keyboard. To use the Control simply put it in a scene and configure all desirable properties. A roll can forward value as well as receive a send value as event. [More...] MenuScreens Control : The Control represents a menu in the form of a grid of icons (instances of the Menu Item Control).  It has configurable number of rows and columns as well as default and maximum number of screens. A user can swipe between neighbouring screens. The Control handles user input and forwards proper information to children MenuItem nodes. The children nodes may be removed and reordered in runtime. [More...] MenuIcon Control : The main rationale behind the MenuIcon Control is an encapsulation and abstraction of an “icon” like in graphical environments of most known operating systems. It stores a bitmap and a string (label) together and provides single configuration of common behavior like positioning or highlighting.  It is designed to use inside the MenuItem Control and most probably one would like to use the MenuItem instead of plain MenuIcon. [More...] PageIndicator Control : A PageIndicatorElement is a control which is part of Page Indicator which indicates currently displayed page. This control is intended to be used as component of Page Indicator and therefore is not focusable as individual element. The control offers possibility to customize it’s appearance through 9 patch image and color properties. [More...] Mesh2D Control : Performs a perspective projection of a 3D rotated effect (e.g. Bitmap or SolidColor effects) based on the configured origin, rotation and field of view. [More...] CoverFlow Control : A CoverFlow is a proof-of-concept control that alows for horizontal swiping of child items. The items are scaled according to their location. [More...] FPSDisplay Control : The FPS Display Control provides a Text Node that displays the currently rendered frames per second, which allows benchmarking running applications. [More...] FrameCounterDisplay Control : The Frame Counter Display Control provides a Text Node that displays how many frames were already rendered. [More...] FrameTimeDisplay Control : The Frame Time Display Control provides a Text Node that displays the time it takes between frames to be rendered, which allows benchmarking running applications. [More...] New Behaviors Blend Options : Sets a blend mode from a given list of options. Depending on that option the behavior choses the appropriate blend factors and operations. In 2D it sets the values on the effect and in 3D on the render-mode if one is attached on the same node.  There are 8 different blend modes to set. [More...] Smooth Value : Acts as a receiving Process Value Behavior. When the Behavior receives a Value, it will apply exponential smoothing. [More...] Poi Metadata Handler : PoiBehavior [More...] Distance Alpha Fading : This behavior is a Group. [More...] Navigation Path : Registers to navigation points and displays them as mesh in world space. [More...] Poi Configuration : Behavior that configures the mapping of a name to a assetId, such that it can be found by the PoiFactory. [More...] POI Manager : Manager of the poi control nodes. [More...] Pose Tracking : Behavior that sets the pose of a target node. [More...] Extended Animation Features In SceneComposer 3.8.0 the user can animate even more different properties. It is now able to animate Control Properties, Optionals, Variants and Script Component Properties. [More...]   glTF 2.0 Importer to Support Physically Based Rendering In order to be able to create HMIs using 3D objects with similar rendering quality as running on mobile versions of game engines, CGI Studio's render techniques have been improved by methods of Physically Based Rendering (PBR). glTF 2.0 is more than defining PBR materials, it is a new state-of-the-art file format that is now supported by CGI Studio. [More...]   2D over 3D Support for Post Processing Effects The process of creating and applying posr processing effects within CGI Studio has been simplified. The user can now drag and drop pre-defined post processing effects onto a camera via script. An example has been created to show how the following post processing effects can be applied to a 2D and 3D scene: Depth of Field  Bloom  Simple Blur [More...] External Texture Image Users of CGI Studio are now able provide externally rendered images within the HMI on Linux systems using Wayland. For example an image decoded from a video stream or provided from an external image repository, such as a media database. [More...]   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. 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. 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. 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. 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. 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. 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  A new sample "PostProcessing" was added to demonstrate how post processing effects can be used. 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. More information is available in chapter How to Import Resources . New Controls for CGI Studio 3.7 Breadcrumb Control CGI Studio 3.7 provides a hierarchical navigational aid for user interfaces called Breadcrumb.  More information is available in chapter Breadcrumb . Circular Slider Control In addition to the Slider , there is now a circular version called Circular Slider. More information is available in chapter CircularSlider . Dial Control A Dial behaves similar to a physical rotary switch. 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. More information is available in chapter Drawer . Icon Button Control The Icon Button is a new addition to the Button and TextButton . 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 . 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. 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: If a behavior which contains referenced behavior is copied, a new option will become available in the context menu: "Deep Paste". 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.  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. 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. CGI Studio 3.6 CGI Studio 3.6 - What's new: Welcome to CGI Studio 3.6, 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. In this release the focus was on the integration of the redesigned Player, culture management in Scene Composer, Monotype support and new Controls with key handling. A special highlight among the Controls is the dynamic list. Please see the details below. RenderMode for SceneEditor 2D/3D to show RenderTarget Alpha Blending With CGI Studio 3.6 we introduce a new render mode for the scene editor for 2D and 3D scenes. The user is now able to switch between "Normal Scene Editor Rendering" and "Alpha Blending Scene Editor Rendering". The new render mode allows you to easily identify transparent objects. This is especially useful for devices that support hardware layer blending.       More information is available in chapter RenderTarget Alpha Blending Drop Shadow Effect and Outline Effect also available for TextNode2D The newly implemented OpenGL 2D effects  OpenGL Drop Shadow Text Brush Blend and  OpenGL Outline Text Brush Blend  offer the possibility to add these visual effects also to TextNode2D.  For more information please see the OpenGL 2D Effects Solution Scene Composer sample solutions. 2D SolidColorBrushColorBlend Effect A SolidColorBrushColorBlend effect adds a color effect to the existing SolidColorBrushBlend effect. It multiplies the FillColor with the Color. This effect can be useful when it comes to reusing ColorEffects out of an effect, to multiply a color with the actual color to blit; especially in cases where the original color should be preserved, but should be changed for certain effects.  For further details please see section SolidColorBrushColorBlend SolidColorBrushColorBlend. Integration of Monotype Users of CGI Studio can now use the commercial font engine Monotype (iType) together with its WT Shaper as alternative to the already used freetype, harfbuzz and ComplexScript engines. Switching to monotype can easily be done using CMake. More details on the integration of Monotype can be found in chapter Integration of Monotype Copy & Paste or Drag & Drop from ToolBox to SolutionExplorer To make CGI Studio SceneComposer even more convenient and userfriendly we introduced the possiblity to Copy & Paste or Drag & Drop items from the Toolbox to the SolutionExplorer. The performed Drag&Drop operation automatically creates a copy of the source object. It can be used to create your own variants of the controls delivered in the construction kit.  Copy and paste is performed using the context menu or the keyboard shortcuts CTRL+C and CTRL+V. Drag & Drop is done by picking the item with the mouse, dragging it to its destination in the SolutionExplorer and dropping it at the desired location. Integration of the Player into SceneComposer So far we were offering CGI Studio SceneComposer and Player as two separate applications. With CGI Studio 3.6 the Player can be started from within the SceneComposer. In the toolbar near the top left corner you can now find a play button and a drop-down menu to start the Player. In the drop-down menu you can choose one of the following options: Menu Entry Action Generate and Play Generates assets and starts the Player Generate and Play Selected Scene Generates assets and starts the Player with the current scene after pressing the "play" button on the left Play Starts the Player after pressing the "play" button with the most recent generated asset Configure... Opens a configuration dialog. Configurations, like the path to the Player, can be set. Further wise it allows to set additional parameters and the default scene that will be shown. It is possible to start two Players in parallel with different assets. Starting a third Player is not possible because it would try to overwrite the first generated asset. The generated assets are stored in temporary application data user folders. Player Re-Design Speaking of the Player: it now features a fresh new design - both in the UI and internal architecture setup - for an improved user experience. Handling of Keyboard incl. Virtual Keyboard Events With CGI Studio 3.6 it is now possible to directly react on virtual Key Events using the concept of Behaviors. A new Control Behavior "Virtual Key" has been added that receives a Change Value Event with a boolean. True will start emitting Key Events, false will stop emitting Key Events. A new Condition Input Behavior "Check Key Input" has been added, so it is possible for any control to react on it and call any Action Behavior. The "Check Key" Input Condition Input Behavior as well the "Virtual Key" Control Behavior can be configured with a Modifier and a KeyType. Line Spacing Customization With CGI Studio 3.6 the user can customize the way multi-line text is imported from Photoshop. As CGI Studio is using a different text engine than Adobe, customization is needed to achieve the same presentation, especially spacing for multi-line text. The Photoshop importer imports multi-line text as it is - setting default line spacing With implementation of this new customization possibility, the Line Height property has been removed from the TextNode in SceneComposer. TextStyle has a new category (in the property grid) called "Metrics" that contains the following properties to display the line spacing values calculated from Candera:   Property Description Ascender Font ascender value in device pixels. Descender Font descender value in device pixels. Line Height Line height of the font (lineGap = lineHeight - (ascender - descender)) Generic Transformation is optional In order to increase the performance when rendering, the generic transformation used for 3D Nodes, Canvas Nodes and also for Textures, has become an optional parameter in SceneComposer. Advanced Cluster Sample Solution A new Advanced Cluster Solution has been added to the Sample Solutions that can be found on the startup screen of CGI Studio SceneComposer 3.6. It shows how to create an advanced cluster without the need of application logic. It is just using Controls for implementation and therefore works with the Player.  A description of how it is assembled and how it can be created from start can be found in the section for Sample Solutions Advanced Cluster Solution . Extension of FeatStd::Variant The list of data types of FeatStd::Variant has been extended by data types that are often used in applications:  FloatValue DoubleValue Int8Value Int16Value Int32Value Int64Value UInt8Value UInt16Value UInt32Value UInt64Value BoolValue StringValue A new TryGet() method has been implemented, which returns true if the conversion was possible without value range limitation and false otherwise. You can find out more about this in the Class Reference of FeatStd::Variant . Freetype Font Streaming Instead of loading a complete font from asset file into RAM it is also possible to use the freetype custom IO stream API where only the required bytes are requested from the font. This features is especially useful for big fonts. This can be done on a font-by-font basis. Even after introducing the new (stream-based) font data access strategy, it is still possible to select the old (memory-based) font data access strategy. Offline Shader Compiler Plugin for R-Car D3 Integrity With CGI Studio 3.6, a shader compiler plugin for Scene Composer is provided for Renesas R-Car D3 Integrity platform. This new shader compiler also supports offline compilation. All shaders and only those shaders that are used and are part of the asset library are compiled. PSD Exporter sets Text Height The PSD Export now sets the Layout Size of the TextNode2D to the text area size from Photoshop. The TextNode2D's clipping behavior is adapted so that rendering area is big enough for rendering complete lines and then apply clipping to the area. Pivot Point With CGI Studio 3.6 Scene Composer uses a real pivot point instead of a pivot offset. The pivot point is used as center point for rotation and scaling. It is available for 2D and 3D. A gizmo - an orange circle with an orange dot inside - shows the position of the pivot point in 2D scenes. In 2D the existing translation modes (Pivot and Object, Pivot only, Object only) are now based on the real pivot point:  "Pivot and Object" mode: Position property (only) of the translated node is re-computed and updated.   "Pivot only" mode: both Pivot property and Position property values of the translated node are re-computed and updated.   "Object only" mode: both Position and PivotPoint properties of the translated node are re-computed and updated.   Memory Usage Improvements For CGI Studio 3.6 the memory Usage for large solutions has been improved significantly. Integrated Text Management CGI Studio supports internationalization in form of a custom solution based on the Translator plugin and customer external tools. All language tables can be now maintained directly in Scene Composer. For a better integration of the text's management, the following steps have been performed: The translator plugin has been integrated to be part of SceneComposer.  The text table editing has been extended so that any text item can be edited for all languages.  Text editing is allowed in the property grid for the selected locale.  Live text switching w/o asset re-generation is now possible in the editor and display preview.  Further wise, CGI Studio 3.6 comes with an integrated Translator Plugin. In the toolbar you can find an icon to open the "Solution Icons: Cultures" dialog to add or delete languages as well as a drop-down box for choosing the currently active language.  More information about the Translation Plugin can be found in chapter Scene Composer Translator Plugin . Unique Identifiers for Behaviors With CGI Studio 3.6 unique identifiers for behaviors have been introduced. For this, an Identifier class has been introduced which matches any arbitrary string path / string tree. The concept is derived from Java String Interning ( https://en.wikipedia.org/wiki/String_interning ). Support for True Type Font Container (TTC) An Iterator has been implemented to iterate over the names of the faces contained by a TTC font. The order in which the face names are provided by the iterator is a hint for the index that needs to be passed at Font::Setup(name, index), to properly load the expected face. Toggle Button We have now added a new Control "Toggle Button" that behaves like a Push Button but it toggles with each press between "On" and "Off". It is typically used for activating and deactivating a persisting functionality.  The visual appearance of the Toggle Button can be altered in the properties panel. The texts, the images and also the colors for hovered and disabled can be configured. Clock Control CGIStudio 3.6 offers a new DigitalClock and an AnalogClock Control, which can be found in the ConstructionKit.  More information can be found in chapter Digital Clock and Analog Clock . Input Field Control CGI Studio 3.6 provides an Input Field Control for Keyboard Input.  For more information please check section InputField . Dynamic List The list control has been extended by supporting Courier Data Binding and generic windowed list model fragments.  For more information please see the Dynamic List Tutorial . Databinding UI With Scene Composer 3.6 each bindable property of a Behavior, Widget, Behavior Building Block or Control will have a button next to the property that allows to define or break a link to a data source.  The buttons indicate if the binding is established or not:  Additionally, when hovering the buttons, the concerned binding source is displayed as tooltip (see the lower right corner of the picture above).  Sequential and Bidirectional Transitions Until now, only simultaneous transitions from one scene to another were possible, meaning that, for example, one scene would fade out while the other one fades in. With CGI Studio 3.6, it is possible to configure transition rules, which result in a sequential playback of the respectively involved transition fragments. To accomplish this, new options to set the transition strategy for "Activation" and "Deactivation" fragments have been added to Scene Composer's Rules Editor. Additionally, transition rules can now be set as bidirectional, further simplifying the transition setup process. Now, only one rule is needed for a transition in both directions. For more information about the new Transition features, please read the chapter Transitions . CGI Studio 3.5 CGI Studio 3.5 - What's new: Welcome to CGI Studio 3.5, Candera's software development platform for development of hybrid 2D and 3D graphical interfaces for Automotive Systems. This page informs about the most important features, added since the last Release. Focus of this Release was to improve usability of SceneComposer, but also brand new features have found their way into it. Please see yourself. Monotype Font engine iType feature has been integrated. iType is a font engine which main purpose is fast and qualitative rasterization of fonts. There are two different approaches to integrate the third party code iType into CGI Studio: adding prebuilt libraries  add the third party code into the build process  Monotype/iType has a special porting API with which target and OS specifics can be overridden. CGI Studio provides a single solution for all targets. For this, the framework links the API to the device and operating system layers. It is also possible to use an own customized port instead of the CGI Studio solution. For complete description refer to Integration of Monotype chapter. Candera Scripting Script Events This versions adds support for script events. Script events can be sent and received by both Lua scripts and native code . Candera Object References in Scripts This versions adds support for referencing Candera objects in scripts . These object references are aware about the lifetime of the objects they reference without interfering with them. They can be passed from native code to scripts and vice versa, as well as dereferenced to call object specific methods in Lua. Property Editing Improvements Visualization of Enums as Icons In CGI Studio SceneComposer for some properties the user can choose from a defined set of values e.g. the type of layout he wants to use (GridLayout, StackLayout...) or he can define the values for horizontal and vertical alignment. CGI Studio 3.5 offers intuitive icons to the user, so he can easily decide, which option he wants to take. Tooltips when hovering these icons make these icons even more user friendly.  Multi-Column Properties in the Property Panel Several items have properties where more than one value can be entered:  position properties require a value for the x- and a value for the y-coordinate  size properties require a value for the x- and a value for the y-coordinate  margin properties even require 4 values (for left, top, right and bottom)  With CGI Studio 3.5 the input fields for these values are positioned next to each other in multiple columns to save space and reduce scrolling effort. As you can see in the screenshot below, the appearance of the properties has been very much improved and looks a lot tighter.  Nine-Patch When scaling images, the loss of too much quality shall be prevented. To optimize the scaling process, with CGI Studio 3.5 each image allows the configuration as Nine-Patch. By defining four stretchable areas for left, top, right and bottom, the image will be divided into 9 differently scaled patches (thus Nine-Patch) as seen in the image below.  The properties for the Nine-Patch can be defined on image level in the properties tab after activating the Nine-Patch functionality by clicking on the NinePatch icon. When the Nine-Patch functionality is activated, the user can define the 9Patch Stretchable Area by entering a value for each of the borders: left, right, top and bottom as explained in the right picture below.  The Nine-Patch configuration is considered at any kind of scale operation - no matter if it is a manual scale operation or during layout calculation. Here is an example that shows the original image and the same image resized using the Nine-Patch configuration:  Note: that when computing the resized image, the position of the center point is calculated accordingly. This is especially important as the image center is used when composing and positioning parts of a control (e.g. the needle image of a NeedleControl has to rotate around the defined image center no matter if it has been resized using the Nine-Patch.) For complete description refer to 9-patch image chapter and for a small tutorial check 9-patch image chapter. Pivot Hint In addition to optimized resizing of images using the Nine-Patch approach, the user can define a Pivot Hint for each image. Additionally the Pivot Hint is used by Behaviors to allow them to set a Pivot Offset to an image that has been set. Controls and Behaviors There is a bunch of new predefined Controls in SceneComposer. Those reach from Cluster Controls to IVI Controls. They cover many elements necessary in a user interface. Among those Controls are a progress-bar, gauge, telltale, list, button, slider and many more. Controls quicken the process of HMI development massively. The HMI elements can interact with each other and because of the underlying Behaviors no single line of code has to be written for many use cases. To make these Controls work and to be able to define own Controls, the list of Behaviors has increased significantly. There are many different Behaviors reaching from Event Handling to Value Processing. For a more detailed documentation of the new Controls and Behaviors please refer to Controls and Behaviors . The LayoutType of a Control can now conveniently be configured via the LayoutType in the properties panel of a Control. A new tutorial is available here . This tutorial covers most of controls and behaviors. Building Blocks for Behaviors Behaviors can be nested and in this way combined to a reusable behavior building block that is part of the solution and appears in the Solution Explorer. These behavior blocks offer the possibility to configure, which of the properties of this behavior block will be published and are therefore editable at the time the behavior block is instantiated and used in the SceneComposer scene. Visualization of Behaviors as Tree in SceneComposer When many behaviors are nested, the hierarchy of the behaviors is shown trough the visualization of the behaviors integral map ( = "tree") structure. The tree structure of nested behaviors is now visualized properly in the Scene Tree View. This makes it easier to see, which behaviors belong together. For more information please check out the Behavior Building Blocks EventHandler Tab Every control needs an EventHandler in order to handle user events and take appropriate actions. With CGI Studio 3.5 an EventHandler Tab has been introduced in the Properties View for all Controls. In this EventHandler Tab the user can choose the event he wants to react on from a drop-down menu. Furthermore, conditions and actions can also be configured with drop-down menus in this tab. Once an Event is selected, only conditions that are suitable for the selected event are offered in the drop-down menu.  Additional EventHandlers can be added by clicking the '+' sign next to the EventHandler Tabs, more Actions can be added by clicking the '+' sign next to the Actions (marked in orange in the image above).  Having only a selection of suitable and applicable conditions available at configuration time after selecting an event makes this new EventHandler Tab a welcome and user friendly feature. New Data Types: Optional and Variant Especially for the implementation of the new Behaviors new data types have been introduced. Optional: The Optional data-type allows the use of uninitialized objects. Therefore it provides methods to check whether the object has been initialized or not.  Variant: The Variant data-type allows to store one value in different types. The type can be an integer, unsigned integer, floating point number or boolean.  Sample code for Optional:  Optional opt; if(true == opt) {     Int value = *opt; //opt has been set } else {     //opt has not been set } State Machine CGI Studio introduces support for a new integrated solution to model behavior based on the state machine concept. By using traditional design means, multiple state machines can be defined. A state machine contains states and transitions and allows defining model changes into the graphical model when certain conditions are met. The state machine links workflow logic to existing CGI Studio graphical items and building blocks such as behaviors and controls.  CGI Studio 3.4.2 CGI Studio 3.4.2 - What's new: Welcome to CGI Studio 3.4.2, Candera's software development platform for development of hybrid 2D and 3D graphical interfaces for automotive systems. This page informs about the most important features, added since the last release. Focus of this release were 2D Composition in 3D using a Canvas Node and full integration of the Functional Safety features to SceneComposer. 2D Composition in 3D With progressing SceneComposer releases 2D and 3D editing is converging constantly. More and more 2D composing functions are merged into 3D editor to pave the way for unified editing regardless of 2D or 3D content. With the latest introduction of layout support in 3D editor, you can now arrange your content on a canvas like you were used to in 2D editor. The layout strategies behave same. The following layouters are available  BaseLine Layouter  DockPanel Layouter  Grid Layouter  Overlay Layouter  Stack Layouter  More information can be found in the Layouter Documentation Advanced Functional Safety Functional safe user interfaces according to ISO 26262 become more and more important for graphical user interfaces. Candera Safety engine, which meets the strict ASIL B requirements, has been enhanced extensively to allow easy creation of appealing but safe content directly in SceneComposer. With this release comprehensive support for animations of safety content has been added. Find below an excerpt of most important features: Key-frame based animation authoring in SceneComposer for Safety HMI similar to so-called Convenience HMI, which does not meet ASIL B requirements  Support for animating all content properties: Position, size (scale), transparency, and text color  Animation playback control: Start, pause, resume, finish  Animation properties: Speed factor, repeat mode, playback direction  Animation interpolation strategies: Step, Linear, Easing In, Easing Out, Easing In-Out  Rendering of RLE compressed content  Together with available support for advanced image and text rendering it is now easier than ever to render attractive but safe HMI and blend seamlessly with Convenience HMI. At the same time Candera safety engine assures a secure and performant render path and guarantees freedom of interference with convenience HMI. CGI Studio 3.4.1 CGI Studio 3.4.1 - What's new: Welcome to CGI Studio 3.4.1, Candera's software development platform for development of hybrid 2D and 3D graphical interfaces for automotive systems. This page informs about the most important features, added since the last release. Focus of this release were new features such as canvas text, functional safety support in SceneComposer, usability improvements, new samples and startup screen with online information. 2D Composition in 3D Composition of 2D and 3D content will be unified more and more. As next step it is now possible to render true type text directly in 3D like you are used to in 2D. The text can be rendered on a dedicated canvas object, which is a plane object that can be oriented in 3D space. It is now very easy to apply different text effects directly via shaders. To get best performance the texts are automatically assembled to reduce the number of draw calls. Functional Safety SceneComposer With version 3.4.1 a preview of advanced functional safety HMI composition is introduced in SceneComposer. The safety HMI sample shows how you can compose and export safety content directly in SceneComposer. Advanced functional safety includes following features with 3.4.1:  Authoring and safe presentation of images and text including transparency  Positioning and scaling incl. pivot point configuration  Grouping of objects for common transformations  Safety asset library validation and integrity checks during runtime  New Sample Solutions For everyone who wants to explore the possibilities and capabilities of SceneComposer we offer new sample solutions. In this release you can have a look at the following new sample solutions:  2D Effects OpenGL 2D Effects Safety Sample: A new safety sample solution is available under the safety license. It demonstrates the functionality available under the Candera safety promise. It supports building the scene tree with groups, transparent images, texts and offers managing the rendering order using render slots  Startup Screen with online information Beside of recent and sample solution the startup screen now also shows the latest online news around CGI Studio development, including features, webinars, and other events to come. Usability Improvements The funcionality of copy, paste and clone has been unified: now, all context menus support copy, paste and clone operations if appropriate. Especially, the scene tree and the solution panel has been optimized regarding that matter.  Smart Scene Preview: camera visualization into displays can now be enabled/disabled based on scenes. This action can be performed via a context menu entry on the camera, render target or display object.  CGI Studio 3.4.0 CGI Studio 3.4.0 - What's new: Welcome to CGI Studio 3.4.0, Candera's software development platform for development of hybrid 2D and 3D graphical interfaces for automotive systems. This page informs about the most important features, added since the last release. Focus of this release were new features such as transitions, a new Player, animation property setters, performance improvements, language dependent fonts, custom property configuration, Uniform Buffer Object (UBO) support, CGI Analyzer with frame debugger, IVI controls, live data preview, sample solutions, and improved documentation. Improved Documentation The documentation was enhanced for: all new controls and all new sample solutions  a cluster controls tutorial were you can learn how to create a cluster with controls, the solution can be found in SceneComposer Start Screen  Tutorial videos like how to use design master, learn about scripting up to the cluster control tutorial  new tutorials for Transitions, Behaviours, MFR (Multi-Freqency Rendering) or Lua-scripting  Layouter documentation and tutorial  Find below a glimpse of the layout-sample: Sample Solutions Many samples are now on SceneComposer Start Screen New samples have been added to ease exploring CGI Studio features. The new ones are: scripted car, layouter, cluster control tutorial, transitions Mark a solution and follow the link to the documentation at the bottom of the screen, you are guided to the related tutorial. IVI Controls in Construction Kits Now also controls are available to create menus or to support touch. In the construction kit you can find the IVI controls available for your platform: Analyzer with Frame Debugger The Analyzer provides a frame debugger as a new feature to help discovering visual defects much easier. The frame debugger gives an overview of what has been rendered in which order. Additionally, it gives visual access to the drawn content of each node. Furthermore, a statistical summary of the rendered frame is available. Debug color, depth, and stencil buffer content at custom defined time points. Animation Transitions The transition framework has been extended to add a Animations as new build-in transition type. Now it is possible to trigger animations or group animations within transitions. With animation transitions almost any arbitrary transition can be realized. The transition type Animation holds three additional optional parameters: AnimationId – Candera::Id of the animation that is executed by the transition framework.  AnimationTimeline- specifies the time when the animation will start. The end time of the animation depends on the selected playback mode.  IsAnimationTimeRelative- defines the playback mode for the animation: TransitionTime - default(false) - The animation speed is adapted such that the end time of the transition, specified by the AnimationTimeline parameter, will match the end time of the animation.  AnimationTime (true) - The animation duration is given by the animation itself.  The animation specific parameters can be specified in the properties panel once the corresponding transition type has been selected:  The animations can be triggered through a request by matching the corresponding rule.  Reverse Transitions The transition framework offers the possibility of reversing transitions, because transitions shall be reversed when a fragment is deactivated, while it’s fragment is in activation or vice versa. If a reversible fragment has been identified, the already running TransitionFragment shall go backwards, from its current state to the original one. A reverse transition is executed if all of the following conditions are fulfilled: the variant of the already running TransitionFragment shall match the variant of the current request  the source of the already running TransitionFragment shall match the Destination of the matching rule  the Destination of the already running TransitionFragment shall match the Source of the matching rule  AllowReverse is set to true  Uniform Buffer Objects (UBOs) Candera now supports uniform buffer objects on OpenGL ES 3.0 platforms. Uniform buffer objects batch uniform settings for e.g. light and materials. A reduced number of render state changes increases render performance on GPU-bound applications. They can be set in Solution Options:  Transform Feedback Candera supports transform feedback on OpenGL ES 3.0 platforms. This feature enables the user to utilize the vertex processing unit of the GPU to perform calculations and reuse the results. This is especially useful for debugging vertex transformations. Applications can also use it for use cases like speeding up particle systems. Pixel Buffer Objects Cander a supports pixel buffer objects on OpenGL ES 3.0 platforms. This feature can be used to transfer data to and from video memory asynchronously. Renderer Statistics Overlay Candera introduces a helper class to draw renderer statistics data on screen as an overlay. That way critical information regarding rendering is available in real time on target platforms for diagnostic purposes.  Renderer Statistics New render statistics have been added under the 2D section: Blits, Blits Culled, and Clears. They can be seen here:  Language Dependent Fonts Until now, the fonts could be configured based exclusively on unicode ranges. From this version onwards it is possible to configure the fonts on the basis of language. So, the configuration is extended in such a way that the font selection can be also conditioned by language ISO codes (the standardized nomenclature used to classify languages). The text style entries are grouped by culture (multiple). Every text style has - similar to "Entries" - a "Culture" list and every culture from this list has its own "Entries" list. In this way all the text style entries are grouped - as mentioned above - by culture. This is an example for the Japanese and Chinese, just the culture is changed not the font: New Animation Property Setters It is now possible to animate more properties for cameras and nodes in both 2D and 3D scenes. The new properties which can be animated are: viewport and scissor rectangle properties of camera objects from both 2D and 3D scenes  bounding rectangle, clipping rectangle, and layout margin properties of 2D nodes  vertex rectangle property of renderable canvas objects  Widgets have been enhanced to support properties of Vector4 and Margin type. This type of properties can also be animated. Custom Property Configuration A configuration file allows the user to set values that overwrite the default value from the ApplicationConfig file when SceneComposer starts. This file can be generated by using the SceneComposerConfigurator.exe. Here you can see the default configuration of the properties for TextNode: The Pivot Offset has been removed and the properties Render Order Rank and Enable Snap To Device Pixel have been set to read only: Live Data Preview SceneComposer was extended to allow an advanced usage of Courier plugin. The user, when working with Courier , can define the data items and link them to widget/control properties via data binding. With live data you can simulate this for each item and store the simulation. New Player A new Player is available under "/cgi_studio_player". It supports Courier which means that it recognizes touch-input for instance. Further features are Transitions and Memory Statistics. It also comes with a new Panel.  CGI Studio 3.3.3 CGI Studio 3.3.3 - What's new: Welcome to CGI Studio 3.3.3, Candera's software development platform for development of hybrid 2D and 3D graphical interfaces for Automotive Systems. This page informs about the most important features, added since the last Release. Focus of this Release was Bugfixing, but also brand new features have found their way into it. Please see yourself. Compiler Plugin for ApolloLake Supports binary shader programs through GLSL shader compiler plugin. Requires Intel standalone GLSL compiler binary, and also target platform specific GLP file. Uses GHS compiler v2016.5.2 and INTEGRITY Intel Broxton version 11.4.2, monolith from updated BSP. Linking is done against libdrm version 2.4.67, and MESA version 11.2.1. DirectTextureImage on ApolloLake INTEGRITY allows the user to access the texture image data in VRAM directly:  Direct access is also possible with user provided buffer object handle.  Supported image data formats are NV12, YUY2 (YUYV), RGBA and BGRA. Images in RGBA and BGRA formats are currently not displayed correctly.  Requires OES_EGL_image_external and EGL_EXT_image_dma_buf_import EGL extensions.  Amber Cluster Sample Tutorial and the Amber Cluster Demo The Amber Cluster App is a complex application for Amber device, built with IAR compiler. It uses various features of Candera, and also integrates Courier. It uses data-binding implemented in the application for managing content, also uses the FeatStd templated state machine. Lua-Scripting Tutorial and the Lua-Scripting SampleSolution The Sample Solution gives an overview of how scripts can communicate with each other. With the corresponding tutorial you can learn how the id handling works and how to manage that nodes even communicate with their sibling nodes. CGI Studio 3.3.2 CGI Studio 3.3.2 - What's new: Welcome to CGI Studio 3.3.2, Candera's software development platform for development of hybrid 2D and 3D graphical interfaces for Automotive Systems. This page informs about the most important features, added since the last Release. Visualization of Layouter Areas The actual size and the arrange area of a selected node are visualized as boxes in the render panel. The actual size is the bounding box of the node with additional margins. The arrange area is the available space for layouting provided by the parent node. If a group node is selected, additionally arrange area and actual size of all child nodes are visualized. Yellow boxes visualize the arrange size (bounding boxes use also yellow). The dotted blue lines visualize the actual size of a node. Layout visualization is only activated for selected nodes.   CGI Studio 3.3.1 CGI Studio 3.3.1 - What's new: Welcome to CGI Studio 3.3.1, Candera's software development platform for development of hybrid 2D and 3D graphical interfaces for Automotive Systems. This page informs about the most important features, added since the last Release. Multi-threading support Various features belonging to multi-threading have been introduced. The next sections give an overview of those features. Asynchronous Jobs FeatStd contains the new feature of asynchronous jobs. Users can submit jobs that should not block the currents thread execution, thus should be executed asynchronously. These jobs are further dispatched and executed by a provided dispatcher queue. Asynchronous jobs can further be executed in a separate thread, or at a defined time slice on the same thread. As soon as the execution has been finished, the request handle becomes valid and the result can be retrieved. This feature is the base for further features introduced in this Release, in particular Asynchronous Asset Loading and Asynchronous Text Rendering. Asynchronous Asset-Loading Asset Loading, especially reading from the asset repositories, can be a time consuming task, which blocks the CPU from further processing. This can even slow down rendering in certain cases. To improve this, asset loading requests can now be submitted as asynchronous jobs. These jobs can be done either in parallel on a separate thread, or interleaved with the rendering in smaller chunks. Whenever an asset is available, the main thread can retrieve it and add it to the render loop. Asynchronous Text-Rendering The Candera engine provides asynchronous text rendering to improve the handling of time-consuming text processing, such as glyph creation, shaping or layout specific calculations. While asynchronous text rendering is not directly speed up, performance improvements are expected to be seen during rendering, as text processing gets decoupled from it. Analyzer Multi-Thread Recording The Scene Analyzer supports performance log files which contain recordings over multiple threads now. See the screenshot below. Glyph Texture Atlas This version introduces a new text node renderer for TextNode2D and a TextBrushCache which uses a glyph atlas for rendering. The GlyphAtlas stores glyphs in bitmap atlases together with lookup information for re-use. The advantage of the glyph atlas is that dynamic texts are rendered faster. CGI Studio 3.3.0 CGI Studio 3.3.0 - What's new: Welcome to CGI Studio 3.3.0, Candera's software development platform for development of hybrid 2D and 3D graphical interfaces for Automotive Systems. This page informs about the most important features, added since the last Release. Focus of this Release was to improve usability of SceneComposer, but also brand new features have found their way into it. Please see yourself. Start up Screen: The first point you'll notice when starting SceneComposer 3.3.0 will be the new Start up screen, which eases the handling of recent solutions and samples. All your recent solutions are visible at a glance, and can be opened by a simple doubleclick. The need for locating known solutions in the filesystem is therefore not needed any more. Additionally you can find many prepared Samples and Templates, both being a reference and a showcase what can be done with CGI Studio. Scripting: SceneComposer 3.3.0 introduces Scripting, which turns SceneComposer into an integrated development environment. Using the Lua language, complex behaviors for scene objects and their assets can be implemented and executed without the need to switch to other applications. This facilitates rapid development with fast iteration cycles that improve productivity and reduce development time and costs. Here is an introduction to scripting. The scripting reference manual can be found here . Transitions: Transitions: Brand new is our scene transition editor with which you can define transitions on a per scene basis and test these transitions directly in SceneComposer's display preview. The editor is intuitive and allows setting transitions to or from a scene just by dragging and dropping effects onto the scene list. Additionally the transition framework was extended to support cut, fade, slide and scale transitions or combinations of these effects by default. Transitions are also integrated in the behavior system, allowing you to add interactive controls to your application from the start. Controls: Controls are nodes assembled of other nodes. They offer reusing large systems of nodes and abstracting their complexity. Several Common controls have been created to demonstrate their potential. An example is NeedleControl - an analog gauge you can place in your digital dashboard. The often needed settings - such as the range of values representable by the gauge's needle - are accessible as public properties. Many controls arrive with default graphics; a user will hastly grasp their concept. Behaviors give controls functionality and so bring life to images and shapes on the screen. Each behavior is a simple building block that does something: one rotates a node, another handles an input, the other scales a real value from one interval to another, etc. They work together to compose more complex behaviors. By placing behaviors together comes the possibility to rapidly create animated or interactive elements on the screen without coding. Appearance Library: The appearance library is a huge collection of various appearances. They can be used as templates that can simply be dragged on a 3D object to change its appearance. Among the appearances are wood, fur, carbon and cube-mapping-effects for example. On of the sample solutions shows all the different appearances. The appearances have special exposed properties that allow to modify the desired appearance. Please visit Materials Solution for more informations about the sample solution that shows the appearance library. 3D Primitive Shapes: 3D Primitives have been added, and can be used from within SceneComposer. They can e.g. be used as placeholder objects if the desired 3D model is not yet ready. This is also one of the means to support rapid prototyping. You will find a sphere, a cylinder, a cube, a plane and a torus ready to be used. Community Integration: On the new Start up screen there is also a link to the "CGI Studio Lighthouse". Clicking on it will open your web browser pointing at the CGI Studio Lighthouse. The CGI Studio Lighthouse provides access to common resources like news and an FAQ. Additionally registered users can post their questions but also urgent requests there. Feedback Form: From now on it is possible to immediately send a feedback when using SceneComposer. Just select from the menu "Send a smile..." or "Send a frown..." and tell us what you like or don't like. Optionally you can include a screenshot and/or a recent log file to your feedback, which can be included automatically. If you provide us your e-mail address we can get back to you regarding your feedback. The data will be treated as confident and we will take any feedback serious.