Release History

Version 3.1.1 - 2024-3-16

New Features:

Spark Studio

  • Clicking the column title in the Popup Table Editor to sort Popups by ascending order or descending order.

Spark Engine

  • The parameters of internal shaders can be animated via the the animation framework.
  • When animating the rotation property of 3D group, 3D entity or its sub-surface (sub-entity), use quaternion as the implementation algorithm.
  • Add "Anchor Point", "Translation", "Rotation" and "Scale" properties to the sub-surface (sub-entity) of 3D entity to improve control freedom.

Fixed Bugs:

Spark Engine

  • If a resource is used in the internal shader as parameter value, can't find the position which the resource is used on.

Version 3.0.4 - 2023-12-12

New Features:

Spark Engine

  • Establish a basic framework for the internal shader library which used on sub-surface of 3D entity or used as filter working on 2D control.
  • Provide some internal filters, such as flipping pages, burning objects, shredding objects.
  • PBR rendering technique or so-called PBR material is supported.

Fixed Bugs:

Spark Studio

  • If merge Studio and Explorer together, the property help window moves to right border.
  • If merge Studio and Explorer together, the data-binding tip window moves to right border.
  • If merge Studio and Explorer together, the outer shader param window moves to right border.

Version 3.0.3 - 2023-9-30

New Features:

Spark Engine

  • Provide a way to dynamically change the system color of the whole screen. User can apply this feature according to holidays, major events, user preferences, etc.
  • Output performacne data:
    1) Mesh Triangles: The triangle count in a mesh file.
    2) FPS: Frames per second in a surface.
    3) Batch Count: The invoke count of glDrawElements and glDrawArrays in one rendering frame in a surface.
    4) FBO Switches: The switch count of frame buffer objects which are bound to GPU in one rendering frame in a surface.
    5) Dynamic Triangles: The count of dynamic triangles which are sent to GPU in one rendering frame in a surface.
    6) Triangle Count: The total triangles which are sent to GPU.
    7) Texture Count: The total textures which are sent to GPU.
    8) GPU Use: The total size of texture data and mesh data in GPU.
  • 3D entity can accept user dynamically provided mesh data to instead the embedded data.
  • For 3D entity, can render its mesh frame instead of solid face.
  • When rendering a 3D entity in its mesh frame mode, it is supported to use user provided GPU shader program to instead the embedded program.
  • Add "Color" property to 3D entity, this will be used to its sub-surfaces if don't specify a color on it.
  • Add "Material" property to 3D entity, this will be used to its sub-surfaces if don't specify a material on it.
  • Add "Visibility" property to the sub-surface of 3D entity to improve rendering performance.
  • Add "Transparency" property to the sub-surface of 3D entity to efficiently support transparent feature in 3D world.
  • On sub-surface of 3D entity, the rendering effect supports to bind material with color, just as binding material with texture image.

Fixed Bugs:

Spark Studio

  • In the 3D Scene Editor, when apply strip-line style to a 3D Line object, then can't select it via mouse click.

Spark Engine

  • A 3D entity has overall transparency set, but other entities that are obstructed by this transparent 3D entity can sometimes be visible and sometimes obstructed.
  • The color or texture image set on one sub-surface of A 3D entity has transparent feature, but other entities that are obstructed by this transparent 3D entity can sometimes be visible and sometimes obstructed.
  • On a 3D entity, if the color or texture image set on one of its sub-surface has transparent feature, the internal sub-surfaces of this 3D entity can sometimes be visible and sometimes obstructed.

Version 3.0.2 - 2023-9-12

New Features:

Spark Studio

  • In the Scene Editor, add an entrance to flip the layout of the entire scene in LTR or RTL mode, which is typically used to support RTL layout for Arabic UI.

Spark Engine

  • During editing, it is supported to flip the layout of the entire scene in LTR or RTL mode and save the changes in the resource system.
  • At runtime, supports quick flipping of left and right layouts for open screens.
  • Inner state framework supports left-right layout.
  • Animation framework supports left-right layout.
  • Style framework supports left-right layout.
  • Focus framework supports left-right layout.
  • Data Binding framework supports left-right layout.
  • The feature of adaptive screen layout based on the display size is available.
  • All types of 2D controls support adaptive layout.
  • Inner state framework supports adaptive layout.
  • Animation framework supports adaptive layout.
  • Style framework supports adaptive layout.
  • Focus framework supports adaptive layout.
  • Data Binding framework supports adaptive layout.
  • Deliver an API to load image data from file and stretch it.

Version 3.0.1 - 2023-8-16

New Features:

Spark Engine

  • Add zoom-in style option to the 2DViewport control to zoom in on the background covered by the 2DViewport control.
  • The global-handler type Popup is supported, which is generally used to implement businesses that require global control.
  • Add "Background Zoom-in" and "Zoom Ratio" properties to Popup, which means zoom in on the background covered by the Popup box, presenting the effect of a magnifying glass, use these properties on the global-handler type Popup.
  • Strengthen the VUI system, fully support what you see is what you say and get.
  • Automatically build voice-key table and register it to the voice engine via ViewModel, to improve the accuracy of speech recognition.
  • Support using voice to open or close Page or Popup.
  • Support using voice to simulate click on any type 2D control which can be clicked.
  • Support using voice to simulate click on 3D entity.
  • Support using voice to simulate click on the sub-surface of 3D entity.
  • Support using voice to operate ProgressBar control.
  • Support using voice to operate DataList control.
  • Support using voice to operate MenuList control.
  • Support using voice to operate ScrollField control.
  • Support using voice to input voice-text into EditLabel or EditArea control.

Fixed Bugs:

Spark Studio

  • There is a few file item in the image panel of Project Explorer, if drag items out of the window and drop them, all of the items disappear.

Spark Simulator

  • When using the progress bar to simulate input, if you click on the slider, regardless of the position of the slider, the simulated input value always jumps back to 0.

Spark Engine

  • Apply a user-defined particle emitter in a 3D Scene, while the APP exits, it will crash.

Version 2.9.3 - 2023-1-28

New Features:

Spark Studio

  • Change the property name from "凹凸纹理" to "法线纹理".

Spark Engine

  • Support lunar calendar.
  • Add lazy time property to the ProgressBar control, during this lazy time period, it can't automatically adjust progress pos.

Version 2.9.2 - 2021-12-18

New Features:

Spark Simulator

  • Can connect with an APP which runs in the Android Emulator. The spark sample project shows detail for this feature.
  • On Cluster Simulator dialog, can directly input data for drive-info information.
  • On Cluster Simulator dialog, supports to automatically simulate the data change of IVI information.

Spark Autotest

  • Can connect with an APP which runs in the Android Emulator. The spark sample project shows detail for this feature.

Spark Engine

  • Generally Spark Player is as main executable program and the APP is as plug-in which is launched by the Spark Engine. But now, the APP can be as main executable program, and the Spark Engine provides basic function to support this APP.

Spark Model

  • In Spark.Model.Cluster, supports to automatically simulate the data change of IVI information.
  • In Spark.Model.Cluster, float data is supported for the data range of drive-info information.

Version 2.9.1 - 2021-9-12

New Features:

Document

  • In the spark user manual document, append a chapter to describe how to implement user emitter for 3D particle system.

Platform Relation

  • The Spark Engine can directly run as general executable program on Android, we call this as Bin mode. This feature is normally used to support RVC/SVC/AVM function.

Spark Studio

  • On the Scene Explorer, supports some operations via right menu.
  • When import resource file to project, if they don't lie in the res folder, asks the user whether copy them to this res folder or not.

Spark Engine

  • In config.xml file, supports "zorder" property on "surface" element.
  • Exports image loader API to end user.
  • Supports image stream on 3D sub-entity.
  • Supports emitter plug-in for 3D particle system.

Version 2.8.3 - 2021-5-31

New Features:

Document

  • Deliver user manual document, and can get it from the website or the Studio package.

Spark Studio

  • Save the user selected UI language and Skin in favorite.xml file, and remove layout files from the Studio package.

Fixed Bugs:

Spark Studio

  • Sometimes, when create a new project, IDE crashes.
  • After create a new project via the wizard, can't successfully compile the android project.
  • Open a 2D/3D scene which has enter animation, if delete a 2D control or 3D object which is controlled in the enter animation, IDE creashes.

Spark Engine

  • When pack xml-data files for a project, if a file doesn't exist, can't pack all files.

Version 2.8.2 - 2021-4-30

New Features:

Platform Relation

  • The Spark Engine supports to mix with the JAVA UI framework in a same activity on Android, we call this as Addon mode. This feature is normally used to meet the gorgeous HMI requirement, such as 3D GUI.

Fixed Bugs:

Platform Relation

  • On Android, can't unpack resource package file which is packed In Spark Studio.
  • On Android, can't use CDataTransfer class because socket bind error.
  • On Android, can't use CShareMemory class because that sem_open function isn't implemented in libc of Android.

Spark Splash

  • After recently update windows OS, if the size of splash window is bigger than the size of display, the render result is empty or dystopic.

Version 2.8.1 - 2021-3-31

New Features:

Spark Studio

  • When change "mesh_id" property of 3D mesh object in the static 3D scene, automatically refresh scene structure.
  • If the window size of SparkStudio is bigger than the display size, automatically adjust its window size when launch the Studio.
  • In the window size configuration dialog, can switch the flag to merge the Studio window and Explorer window together or not.

Spark Engine

  • The "mesh_id" property of 3D mesh object is supported in the animation, inner state and data binding.
  • Can configure sample count in the config.xml file for antialiasing.

Fixed Bugs:

Spark Studio

  • After add a 3D mesh object to the 3D scene and undo this operation at once, the IDE crashes.
  • When the 2D scene editor is shown by 50% zoom ratio, to select a control, the hit test area isn't accurate at the border area.
  • When the 2D scene editor is shown by 50% zoom ratio, the resize handler of the selected control is still in the original size.

Version 2.7.2 - 2021-2-22

New Features:

Spark Simulator

  • Deliver Cloud Simulator, which is used to test cloud HMI ahead of time.
  • In the Cloud Simulator dialog, configure connection way and parameters, which is ethernet.
  • In the Cloud Simulator dialog, configure and simulate operation information.
  • In the Cloud Simulator dialog, configure and simulate function modules which are defined by user.
  • In the Cloud Simulator dialog, configure multiple property sets and data lists for one module.
  • In the Cloud Simulator dialog, support auto simulation and manual simulation.
  • For cloud simulation, the configuration data is stored in the cloud.xml file.
  • For cloud simulation, can auto simulate property value change which defined in the property sets.

Spark Model

  • Deliver Spark.Model.Cloud sub-system, which is as a connection module between HMI and middleware.
  • The Spark.Model.Cloud includes User Login, Online Radio, Online Music, Online News, etc.
  • For Cloud function, define data protocol framework in the cloud.xml file.
  • For Cloud function, define ICloudProvider and ICloudNotifier interfaces.
  • In Spark.Model.Cloud, build a bridge for the implementation of ICloudProvider interface.
  • As an implementation of the ICloudProvider interface, provide a sample to get data from platform middleware. This is a dynamical library plug-in.
  • As an implementation of the ICloudProvider interface, provide auto-simulation function.
  • As an implementation of the ICloudProvider interface, connect with the Spark Simulator.

Version 2.7.1 - 2021-2-8

New Features:

Spark Simulator

  • Deliver Infotainment Simulator, which is used to test infotainment HMI ahead of time.
  • In the Infotainment Simulator dialog, configure connection way and parameters, which is ethernet.
  • In the Infotainment Simulator dialog, configure and simulate operation information.
  • In the Infotainment Simulator dialog, configure and simulate function modules, which are Radio, Media Device, Audio, Video, Image, BT Setting, BT Phone, Navi, Map, SWDL, System Setting, WIFI Setting, Diagnostic, Engineering Mode, and user extensional modules.
  • In the Infotainment Simulator dialog, configure multiple property sets and data lists for one module.
  • In the Infotainment Simulator dialog, support auto simulation and manual simulation.
  • For infotainment simulation, the configuration data is stored in the infotainment.xml file.
  • For infotainment simulation, can auto simulate property value change which defined in the property sets.

Spark Engine

  • Can batch update data list items at one time via CAppProxy class.
  • Can append item count and items to data list via CAppProxy class.

Spark Model

  • Deliver Spark.Model.Infotainment sub-system, which is as a connection module between HMI and middleware.
  • The Spark.Model.Infotainment includes Radio, Media Device, Audio, Video, Image, BT Setting, BT Phone, Navi, Map, SWDL, System Setting, WIFI Setting, Diagnostic, Engineering Mode and User Module.
  • For Infotainment function, define data protocol framework in the infotainment.xml file.
  • For Infotainment function, define IInfotainmentProvider and IInfotainmentNotifier interfaces.
  • In Spark.Model.Infotainment, build a bridge for the implementation of IInfotainmentProvider interface.
  • As an implementation of the IInfotainmentProvider interface, provide a sample to get data from platform middleware. This is a dynamical library plug-in.
  • As an implementation of the IInfotainmentProvider interface, provide auto-simulation function.
  • As an implementation of the IInfotainmentProvider interface, connect with the Spark Simulator.

Fixed Bugs:

Spark Engine

  • Configure bool type options in the cluster.xml file, always set false value to data property.

Version 2.6.4 - 2021-1-20

New Features:

Platform Relation

  • On Windows, embed version information in the SparkStudio, SparkPlayer and SparkSplash executable files.
  • Use "-v" or "version" command option to show version information about SparkStudio, SparkPlayer and SparkSplash.
  • Use "-h" or "help" command option to show usage information about SparkStudio, SparkPlayer and SparkSplash.

Spark Splash

  • When stop boot animation, show the appointed image if it exists, otherwise show the last frame image.
  • Support to pause and resume boot animation.
  • The size of those frame images can be same with the screen size or smaller than it.
  • Can load frame images from a single package file.

Spark Studio

  • In the help panel of menu bar, add an entrance to show license information about those third-party libraries.
  • In the project panel of menu bar, add an entrance to pack all frame images of boot animation to s single package file.
  • While packing resoure data, showing progress indicator.

Spark Engine

  • In the CSceneCreatorProxy class, provide methods to find the instance of Page and Popup.
  • Can decode jpeg data from image stream.
  • When leave from a top page and enter into a new Page, the new page can be placed below the top Page.
  • While doing screen transition, can remove all pages from the page stack at the same time, this is usually used to go home page from any scene.

Fixed Bugs:

Platform Relation

  • Can't apply position property for screen window on QNX.

Spark Studio

  • Modify font color in the Project Explorer, it doesn't work when directly input value in the number indicator of progress bar at first time.

Spark Model

  • When invoke initialize method of Model.Cluster, Model.Adas, Model.Vechile twice, cause memory leak.

Version 2.6.3 - 2021-1-2

New Features:

Spark Studio

  • Adjust animation track path by drag-drop operation.
  • When a point light is selected, show entity indicator, and move the indicator to adjust light position parameter.
  • When a parallel light is selected, show entity indicator, and rotate the indicator to adjust light direction parameter.

Fixed Bugs:

Spark Splash

  • When call requestStartAnimation again, can't re-start from beginning.

Spark Studio

  • Show grid in the 3D scene designer, open a page in the 2D scene designer, when hide grid, the Spark Studio crashes.
  • For better performance, the Spark Engine only supports four lights in the 3D scene, but can add more than four lights in the Spark Studio.

Spark Engine

  • The default value of position and direction properties of light aren't right.
  • If there are three lights in the 3D scene, some entities disappear.
  • If there are three lights in the 3D scene, can't present environment map effect.

Version 2.6.2 - 2020-12-26

New Features:

Spark Autotest

  • Deliver full function about autotest feature.
  • Configure the remote scene address on the autotest dialog.
  • Sync screen content between the autotest dialog and the remote scene, support multiple remote scenes.
  • Select which remote scene to sync or sync all remote scenes, and can start or stop sync.
  • On autotest dialog, push screen touch operation to the appointed remote scene.
  • On autotest dialog, push hard key operation to the remote scenes.
  • The remote scene can response to the pushed hard key and screen touch operations.
  • Create and manage test case in the test case storage.
  • Record screen touch and hard key operations to a test case.
  • Select a test case, play back operation records which are stored in it.
  • By default, playback always starts from home screen.
  • Generate screen snapshot for each remote scene and for each playback of test case.
  • Browse playback information on the playback dialog.
  • Compare original snapshot and playback snapshot in pixel level.
  • Can set multiple comparison areas in the snapshot.
  • Set and store comparison configuration information.
  • Show comparison result on the playback dialog.
  • Send the autotest result to the owner via mail.

Spark Model

  • Add setIVIInfo method to spark model cluster, this is used to set data from IVI to middleware.

Fixed Bugs:

Spark Engine

  • The menu list control is in focus state, press up key to circularly rotate menu items. But when release the up key, the focus is moved into top overlay (System UI).

Version 2.6.1 - 2020-12-12

New Features:

Spark Autotest

  • Deliver initial framework for autotest function, there is a preview dialog to receive remote scene.

Spark Engine

  • Support more layout values for the "shown_position" property of popup.
  • Deliver overlay type popup, which is normally used to implement system UI, such as Status Bar and Navi Bar. The overlay type popup is managed in the overlay stack.
  • While launching APP, the home page and (overlay) popups are launched if they are identified with "as launcher" flag.
  • Support CCP focus change between the overlay popup and page.
  • Support relative (position / texcoord / normal) index in the face data of the obj file.
  • Can format render tree to XML string.
  • Can build render tree from XML string.
  • Provide a function class to send render tree data to another process, this class meets the requirement for multiple display/screen scenario.
  • Remote viewport control can accept render tree data to represent it.

Fixed Bugs:

Spark Studio

  • If fail to import 3D mesh file, the progress indicator is still running and the Studio is stone dead.
  • Can't import the obj mesh file which is generated by C4D tool.

Spark Engine

  • When CDataTransfer instance is destructed, sometimes cause crash.

Version 2.5.2 - 2020-11-30

New Features:

Performance Improvement

  • Optimize the rendering performance of dynamic environment map effect.
  • Optimize the loading performance of XML file.
  • Optimize the performance of showing first screen.

Spark Studio

  • In the project panel of menu bar, add an entrance to pack all XML files to s single project.pak file.
  • Can configure popup type (normal or warning) in the popup table editor.

Spark Engine

  • Support static environment map effect on the surface of 3D entity.
  • Configure preload documents in the layout.xml file, the format of attribute value is as example: "1;2;3;4" or "1;5-10;20".
  • Configure preload image/mesh/shader in the theme.xml file, the format of attribute value is as example: "1;2;3;4" or "1;5-10;20".
  • Configure surface's initial color in the config.xml file.
  • Change one popup property from "shown_in_center" to "shown_position", the property value is center or freedom.
  • Deliver warning type popup, which can't obtain the hark key input, and can't be controlled by the CCP focus logic. The warning popup is managed in the warning stack. The normal popup is managed in the popup stack.

Fixed Bugs:

Spark Studio

  • Open page A, then open an empty page B, it is still showing page A content in the scene editor.
  • When the environment tips are shown in the XML or GPU shader editor, need to click enter key twice to select one tip and then input it to the editor, also need to click esc key twice to leave from this environment tip dialog.

Spark Engine

  • Can't output log to the log file.
  • In some cases, the mesh file isn't cached.

Version 2.5.1 - 2020-11-15

New Features:

Spark Engine

  • The data type of control's rotation property uses float type instead of int type.

Spark Simulator

  • Deliver Vehicle simulator, use it to test Vehicle Setting (air condition, seat, trap-door, window, door, light, car body, etc.) HMI ahead of time.
  • In Vehicle Simulator dialog, configure the connection way and param, which is ethernet or CAN.
  • In Vehicle Simulator dialog, configure and simulate vehicle setting information.
  • In Vehicle Simulator dialog, configure and simulate operation information.
  • In Vehicle Simulator dialog, supports auto simulation and manual simulation.
  • In Vehicle Simulator dialog, can select data group for auto-simulation.

Spark Model

  • Deliver Spark.Model.Vehicle module, which is as a connection module between HMI and middleware.
  • For Vehicle function, define data protocol in vehicle.xml file.
  • For Vehicle function, define IVehicleProvider and IVehicleNotifier interface.
  • In Spark.Model.Vehicle, load vehicle.xml file and hold the data.
  • In Spark.Model.Vehicle, cache and manage all of the vehicle setting data.
  • In Spark.Model.Vehicle, build a bridge for the implementation of IVehicleProvider interface.
  • As an implementation of the IVehicleProvider interface, provide a sample to get data from platform middleware. This is a plug-in of dynamical library.
  • As an implementation of the IVehicleProvider interface, provide auto-simulation function.
  • As an implementation of the IVehicleProvider interface, connect with the Spark Simulator.
  • About the auto-simulation function of Spark.Model.Vehicle, can simulate those key operations.

Fixed Bugs:

Spark Engine

  • If the data property name A includes the data property name B, when update the data property B, the data binding occasions of the data property A are also updated.

Version 2.4.3 - 2020-11-8

New Features:

Performance Improvement

  • Optimize project loading mechanism to shorten startup time.
  • Optimize document loading mechanism to shorten screen transition time.

Spark Studio

  • When the XXX Simulator dialog is visible, hide all components in the main windows.

Spark Engine

  • In config.xml file, configure the screen touch switch on a surface.

Spark Simulator

  • In Cluster Simulator dialog, configure and simulate driving-computer information.
  • In Cluster Simulator dialog, configure and simulate IVI information.
  • In Cluster Simulator dialog, can select data (gauge, telltale, warning, etc.) group for auto-simulation.
  • Deliver ADAS simulator, use it to test ADAS HMI ahead of time.
  • In ADAS Simulator dialog, configure the connection way and param, which is ethernet or CAN
  • In ADAS Simulator dialog, configure and simulate radar information.
  • In ADAS Simulator dialog, configure and simulate camera information.
  • In ADAS Simulator dialog, configure and simulate RVC/SVC/AVM information.
  • In ADAS Simulator dialog, configure and simulate track line information.
  • In ADAS Simulator dialog, configure and simulate target object information.
  • In ADAS Simulator dialog, configure and simulate drive assistance information.
  • In ADAS Simulator dialog, configure and simulate caution information.
  • In ADAS Simulator dialog, configure and simulate operation information.

Spark Model

  • As an implementation of the IAdasProvider interface, provide auto-simulation function.
  • As an implementation of the IAdasProvider interface, connect with the Spark Simulator.
  • About the auto-simulation function of Spark.Model.Cluster, can simulate those key operations.
  • In Spark.Model.Cluster, the IVI information supports option list.

Version 2.4.2 - 2020-10-18

New Features:

Spark Splash

  • Define IBootAnimationProvider and IBootAnimationNotifier interface.
  • Can bind with boot animation plug-in, which implements the IBootAnimationProvider interface, communicates with the platform middleware modules, controls the boot animation and receives feedback.

Spark Studio

  • Use ctrl+mouse wheel to zoom the 2D Scene Editor and Flowchart Editor.
  • By default, the first created page is as the launcher page.

Spark Engine

  • Add comma and number at the tail of data property expression, for the result of this expression, to specify the number of significant digit after the dot when it is float type. If the number is negative, only get the integer part when the decimal fraction part is 0.

Spark Model

  • In Spark.Model.Cluster, CTelltaleManager provides a method to re-update those telltales which option values are not equal with default values.
  • In Spark.Model.Cluster, add restoreFactorySetting and resetDriveInfoAll methods to IClusterProvider interface.
  • Deliver Spark.Model.ADAS module, which is as a connection module between HMI and ADAS(RVC/SVC/AVM/DVR/Radar/DriveAssistance) middleware.
  • For ADAS function, define data protocol in adas.xml file.
  • For ADAS function, define IAdasProvider and IAdasNotifier interface.
  • In Spark.Model.ADAS, load adas.xml file and hold the data.
  • In Spark.Model.ADAS, cache and manage all of the radar data.
  • In Spark.Model.ADAS, cache and manage all of the camera data.
  • In Spark.Model.ADAS, cache and manage all of the camera views.
  • In Spark.Model.ADAS, cache and manage all of the track lines.
  • In Spark.Model.ADAS, cache and manage all of the target objects.
  • In Spark.Model.ADAS, cache and manage all of the drive assistance information.
  • In Spark.Model.ADAS, cache and manage all of the cautions.
  • In Spark.Model.ADAS, build a bridge for the implementation of IAdasProvider interface.
  • As an implementation of the IAdasProvider interface, provide a sample to get data from platform middleware. This is a plug-in of dynamical library.

Fixed Bugs:

Platform Relation

  • When unpack package file on Linux environment, the path of output file isn't right.

Spark Studio

  • If there is "o" flag in the obj mesh file, it crashes when imports it to project.

Version 2.4.1 - 2020-9-11

New Features:

Performance Improvement

  • Add "fps" property to animation object to optimize the rendering efficiency.
  • Add "animation_param" node in to config.xml to optimize the rendering efficiency at global level.
  • Using image preloading mechanism to improve rendering performance.
  • Using image preloading mechanism to shorten startup time.

Spark Simulator

  • In Cluster Simulator dialog, configure option parameter for warning item.
  • In Cluster Simulator dialog, simulate warning option by manual.

Spark Engine

  • In theme.xml file, configure preloaded image information, and the SparkEngine will preload those image during startup.
  • CRenderEngineProxy exports a few methods about image preloading.

Spark Model

  • The Cluster Data Provider can directly notify hard key information to the ViewModel via the IClusterNotifier interface of Spark Model Cluster.
  • In Spark Model Cluster, the warning configuration supports option parameter. And the Cluster Data Provider can notify warning with option value via the IClusterNotifier interface of Spark Model Cluster.
  • In Spark Model Cluster, some warning configuration items can bind together via the "bind_key" attribute in the cluster.xml file.

Version 2.3.3 - 2020-8-28

New Features:

Spark Splash

  • Deliver Spark Splash product, this is the player of boot animation for multiple screens to meet the time requirement.
  • Set up the main framework to support boot animation without source code for any user project.
  • Configure the image sequence for boot animation for multiple screens in the file system.
  • For boot animation, only jpg format image is supported.
  • In this version, Spark Splash supports to run on Windows, Linux x11, and QNX.
  • Play boot animation on multiple screens to ensure the time synchronization.

Spark Studio

  • Can preview boot animation.
  • In the Flowchart Editor, to select all states via ctrl+A keys.
  • In the Flowchart Editor, when move two states, the transition which connects the two states is also moved.

Spark Engine

  • Transfer animation player callback to ViewModel plug-in.

Fixed Bugs:

Spark Studio

  • In the Scene Editor, use left/right/up/down hard key to move a control item, then move again, can't undo the second operation.

Spark Engine

  • If there are two menu items in the menu list control and the height of the menu list control is equal with the total height of the two items, can't show focus on the menu item.
  • Make flowchart from page A to page B, from page B to page C, from page C to page D, each transition leaves old page and enters new page which is triggered by hard key, when the page A is shown, pushing hard key will directly input page D.
  • The data context value change by control event is later then the inner state change, animation playing or flowchart transition which triggered by this same control event.
  • When control's focus state property binds with a data property and the data property is changed, must ensure the focus state property is the last notified.

Version 2.3.2 - 2020-8-15

New Features:

Spark Engine

  • Set up web browser framework which is a bridge between the UI and the webkit implementation.
  • Provide basic function (API) to browse website with thread safety.
  • Provide basic function (API) to parse the raw HTML5 data with thread safety.
  • The web browser framework supports multiple sessions.
  • Provide Web-Viewport control to be as the container of HTML5 content.
  • The Website URL (which is online or local) and raw HTML5 data are supported in the Web-Viewport control.
  • Render the result of parsing HTML5/CSS/JavaScript in the inner area of the Web-Viewport control.
  • By means of the Web-Viewport control, transfer screen touch operation to the HTML5 world, make sure the same behavior with the outside.
  • By means of the Web-Viewport control, transfer CCP (focus and control) operation to the HTML5 world, make sure the same behavior with the outside.
  • By means of the Web-Viewport control, transfer hard key to the HTML5 world.
  • By means of the Web-Viewport control, transfer voice content to the HTML5 world, to support VUI.
  • When do data binding in the event panel of the Property Editor, can input ! to get the reverse value of the appointed data property.
  • When do data binding in the event panel of the Property Editor, can input some simple arithmetic formula about the appointed data property, the rule is same with the control property data binding. The "dp" string is as the proxy of the appointed data property.
  • If the menu item of the Menu List control is changed to be invisible, re-layout other menu items again which excludes the invisible menu item.

Version 2.3.1 - 2020-7-31

New Features:

Platform Relation

  • Support to play MP3 audio file in Ubuntu Linux environment.

Spark Studio

  • In the audio panel of the Project Explorer, bind sound file with the general screen touch operation, and bind sound file with the button type control.
  • In the Property Editor, bind sound file with the touch operation on 2D control or 3D object.

Spark Engine

  • VUI framework is ready for use.
  • Bind sound with the general screen touch operation.
  • Bind sound with the touch operation on 2D control or 3D object.
  • When touch operation happens, automatically play sound. The sound which binds with a 2D control or 3D object has higher priority than the sound which binds the general screen touch.
  • Provide CSoundPlayer class to play the sound effect.
  • Can directly input voice content to the Edit Field control.
  • User reads text on the screen to trigger the short click operation.

Version 2.2.4 - 2020-7-25

New Features:

Spark Engine

  • Can automatically calculate position relation among the 2D sibling controls which are in the same 2D container.
  • Use up/down/left/right key to move focus from one 2D control to another via logic sibling relation or automatically calculated position relation.
  • Use up/down/left/right key to move focus from one 3D object to another via logic sibling relation.
  • Use up/down/left/right key to move focus from one item to another in the Data List control.
  • Use up/down/left/right key to move focus from one item to another in the Menu List control.
  • Use rotate-left/rotate-right key to move focus from one 2D control to another via logic sequence relation.
  • Use rotate-left/rotate-right key to move focus from one 3D object to another via logic sequence relation.
  • Use rotate-left/rotate-right key to move focus from one item to another in the Data List control.
  • Use rotate-left/rotate-right key to move focus from one item to another in the Menu List control.
  • Use rotate-left/rotate-right key to change progress in the Progress Bar control.
  • Use rotate-left/rotate-right key to move cursor in the Edit Label or Edit Area control.
  • Use enter key to move focus from parent control to it's reality or logic child control.
  • Use enter key to move focus from 2D scene to 3D scene, the 2D scene is the container of the 3D scene.
  • Use enter key to simulate the short-click behavior on a 2D control or 3D object which has focus.
  • Use back key to move focus from child control to it's reality or logic parent control.
  • Use back key to move focus from 3D scene to the 2D scene which is the container of the 3D scene.
  • Use back key to cancel the edit mode in the Edit Label or Edit Area control.
  • Use back key to leave from a popup or page.

Fixed Bugs:

Spark Studio

  • In the Scene Editor, for Edit Label and Edit Area control, when set layout property to its focus appearance, it doesn't refresh.
  • In the Scene Editor, for 2D control and 3D object, when empty one property value from its focus appearance, all of the focus appearance disappear.

Spark Engine

  • In the MenuList control, when the menu item count is no more than the capacity of the list, can't circularly scroll menu items.
  • In the MenuList control, when continuously press up key, the scroll effect isn't right.

Version 2.2.3 - 2020-7-10

New Features:

Spark Studio

  • The Scene Editor supports focus design mode.
  • In the focus design mode of the 2D Scene Editor, when a 2D control is selected, show it's focus appearance.
  • In the focus design mode of the 2D Scene Editor, can show sequence(tab-order) number to all 2D controls.
  • In the focus design mode of the 2D Scene Editor, can show logic up/down/left/right brother relation among all 2D controls.
  • In the focus design mode of the 3D Scene Editor, when a 3D object is selected, show it's focus appearance.
  • In the focus design mode of the 3D Scene Editor, can show sequence(tab-order) number to all 3D objects.
  • In the focus design mode of the 3D Scene Editor, can show logic up/down/left/right brother relation among all 3D objects.
  • In the Property Editor, save all property values to the focus state of a 2D control or 3D object when the Scene Editor is in focus design mode.
  • In the Property Editor, can set logic up-brother/down-brother/left-brother/right-brother/parent/child/associated-target control to a 2D control or 3D object.
  • In the Property Editor, can set focus(tab-order) number to a 2D control or 3D object.
  • In the Image or Audio panel of the Project Explorer, can add multiple image / audio files at one time.

Spark Engine

  • 2D control and 3D object support focus state, user can set most of the appearance properties in this focus state.
  • Append focus_image_id property to a 2D control, the focus image is drawn above the control.
  • When a 2D control or 3D object gets focus, then show it's focus state.
  • 2D control and 3D object support associated focus target, when the 2D control or 3D object gets focus, the associated target is also shown with it's focus appearance.
  • Support to find resource use occasions in the focus state of 2D control or 3D object.
  • Can specify logic up/down/left/right brother relation between two 2D controls or two 3D objects.
  • Can specify logic sequence(focus number) relation among all 2D controls or all 3D objects.
  • Can specify logic parent-child relation between two 2D controls.
  • Via CAppProxy class, can return the active theme, skin, and language.
  • Via C2DControlProxy class, can set any type control's background with 32 bit image stream.

SparkModel

  • Via spark.model.cluster, can return data list from platform service to GUI.
  • Via spark.model.cluster, can transfer command request from GUI to platform service.

Fixed Bugs:

Spark Engine

  • Can't update control's z-order property in the inner state.

Version 2.2.2 - 2020-6-25

New Features:

Spark Studio

  • Add find and replace entrance in the Edit tool panel to support text editor.
  • In Scene Spec Editor and Flowchart Spec Editor, the menu items of the Edit tool panel are supported.
  • The Project Explorer supports context menu.
  • Via the context menu item of the Project Explorer, find and show where a resource item is used, the use occasions are listed in the resource statistic dialog.
  • Via the context menu item of the Project Explorer, delete a resource item from all of it's use occasions.
  • When the resource statistic dialog is visible, finding or deleting use occasions in the Project Explorer will refresh the list content in the statistic dialog.
  • In the resource statistic dialog, can delete use occasion one by one, can also delete all by one operation.
  • In the resource statistic dialog, can open a 2D/3D scene or flowchart which the resource item is used in.
  • In the resource statistic dialog, when open an use occasion, can directly locate to the tree node in the Scene Explorer, and focus the UI element in the Scene Editor, and open the property item in the Property Editor, or locate to the state in the Flowchart Editor.
  • Create and manage control style in the Project Explorer.
  • Configure control style content in the Style Editor.
  • Preview a selected control style in the Project Explorer.
  • Apply a control style to a 2D control in the Property Editor.
  • Support to find where a resource item is used in the control style system, and can delete the use occasions.
  • When open an use occasion in the control style system, can directly locate to the property item in the Style Editor.
  • In the skin panel of the Project Explorer, the active skin can merge resource from another skin resource system.

Spark Engine

  • 2D control supports control style, which is the property value set of a type of control.
  • Save all control styles to the skin.xml file.

Version 2.2.1 - 2020-6-10

New Features:

Spark Studio

  • Provide Scene Spec Editor to edit specification for page/popup/widget/3dscene.
  • In the Scene Explorer, when select one 2D/3D object, then edit it's specification in the mini Scene Spec Editor.
  • In the Scene Spec Editor, show all specification of all 2D/3D objects, and edit them one by one.
  • While editing the scene specification, lock the function of doing any change to the scene structure, such as add/delete/rename/layout/undo.
  • Save the scene specification to resource file system.
  • Provide Flowchart Spec Editor to edit specification for flowchart.
  • In the Flowchart Designer, when select one transition, then edit it's specification in the mini Flowchart Spec Editor.
  • In the Flowchart Spec Editor, show all specification of all transitions, and edit them one by one.
  • While editing the flowchart specification, lock the function of doing any change to the flowchart structure, such as add/delete/rename/layout/undo.
  • Save the flowchart specification to resource file system.
  • Implement XML editor, which is based on the text editor widget.
  • In XML editor, can add or remove block comment via the context menu.
  • In XML editor, supports the basic automatic completion function and environment tip.
  • Provide Scene XML Editor to edit the raw xml data of page/popup/widget/tdscene, this has all the features of XML editor and text editor.
  • In Scene XML Editor, the menu items of the Edit tool panel are supported.
  • In Scene XML Editor, environment tip supports 2D control, 3D object, inner state, animation, and all properties of them.
  • In Scene XML Editor, after save the change, then automatically refresh the 2D/3D scene.
  • Provide Flowchart XML Editor to edit the raw xml data of flowchart, this has all the features of XML editor and text editor.
  • In Flowchart XML Editor, the menu items of the Edit tool panel are supported.
  • In Flowchart XML Editor, environment tip supports state, transition, and all properties of them.
  • In Flowchart XML Editor, after save the change, then automatically refresh the flowchart graph.

Fixed Bugs:

Spark Engine

  • The ScrollField, MenuList, DataList, EditLabel or EditArea control binds with a ScrollBar control and controls it's visibility, if the control is invisible, the ScrollBar control is still visible.

Version 2.1.3 - 2020-5-27

New Features:

Spark Studio

  • Implement text editor widget, which is composed of the Edit Area control and Scroll Bar control.
  • In text editor widget, use ctrl+mouse-wheel to zoom font size.
  • If text editor widget is used in xml editor, code editor and output window, the user adjusted font size will be remembered, and can adjust different font size for them.
  • In text editor widget, find operation is supported via the associated find dialog.
  • In text editor widget, when do find operation, can set find options of match case and match whole word.
  • In text editor widget, replace operation is supported via the associated replace dialog.
  • In text editor widget, when do replace operation, can replace current or replace all.
  • In text editor widget, context menu is supported when mouse right click.
  • In text editor widget, the context menu supports select-all, cut, copy, paste, delete, undo, redo, to-uppercase, to-lowercase.
  • In text editor widget, environment tip is supported when input or delete text.
  • In text editor widget, when the environment tip is visible, use up/down key to select tip item and use enter key to replace current whole word in it, at the same time, can still edit the text.
  • Separate output window to three panels: Log, Build-Info, Find-Result.
  • Output common log information in the Log panel.
  • Output the information of building GPU shader source in the Build-Info panel.
  • Output find result in the Find-Result panel.
  • In output window, the context menu supports copy-line, copy-all, clear-all.
  • Implement code editor, which is based on the text editor widget.
  • In code editor, can add or remove line comment via the context menu.
  • In code editor, supports the basic automatic completion function and environment tip.
  • Provide GPU Shader Editor to edit shader source, this has all the features of code editor and text editor.
  • In Project Explorer, manage shader files and double click one to open it in the GPU Shader Editor.
  • In GPU Shader Editor, the menu items of the Edit tool panel are supported.
  • In GPU Shader Editor, environment tip supports those key words of the shader syntax.
  • In GPU Shader Editor, environment tip supports data types and frequently-used functions used in the shader.
  • In GPU Shader Editor, environment tip supports attribute, varying, uniform and the formatted comment.
  • In GPU Shader Editor, compile shader source via the context menu and output result to the output window.
  • In GPU Shader Editor, after save the change, then automatically refresh the use occasions.

Fixed Bugs:

Spark Studio

  • After fling in the list of Scene Explorer or Project Explorer and drag scroll bar right now, that will cause the list to shake.
  • Rename an atlas image and save project, the new named atlas image isn't saved out.

Spark Engine

  • If there is error in the GPU shader which is being used, too many logs are continuously output and the program becomes slower.

Version 2.1.2 - 2020-5-19

New Features:

Platform Relation

  • Support these hard keys of home, end, page-up, page-down, help, F1, F3 in windows system.
  • Support these hard keys of home, end, page-up, page-down, help, F1, F3 in ubuntu linux x11 system.
  • Support these hard keys of home, end, page-up, page-down, help, F1, F3 in ubuntu linux wayland system.

Spark Studio

  • Show control's property name in the help tip of the Property Editor.
  • Show resource ID in the Project Explorer.
  • Can preview audio file in the Project Explorer.
  • Use shift+up and shift+down to select item in the Scene Explorer and use up and down key to select item in the panels of the Project Explorer.

Spark Engine

  • Deliver Edit Area control. This control is used to edit text in multiple lines mode.
  • In Edit Area control, these operations of select all, cut, copy, paste are support via these shortcuts ctrl+a, ctrl+x, ctrl+c, ctrl+v.
  • In Edit Area control, the undo and redo operations are supported via ctrl+z, ctrl+y.
  • In Edit Area control, enter key and tab key are supported.
  • In Edit Area control, left key moves cursor to previous character, right key moves cursor to next character.
  • In Edit Area control, up key moves cursur to previous line, down key moves cursor to next line.
  • In Edit Area control, home key moves cursor to line head, end key moves cursor to line tail.
  • In Edit Area control, page-up key moves cursor to previous page, page-down key moves cursor to next page.
  • In Edit Area control, if there is selected text, move cursor to release select.
  • In Edit Area control, when shift key is pressed, then move cursor to continuously select text more.
  • In Edit Area control, move mouse to select text from start point to current point.
  • In Edit Area control, when shift key is pressed, then click mouse to select text from previous pos directy to curretn pos.
  • In Edit Area control, double click to select one word.
  • In Edit Area control, when shift key is pressed, then double click to select whole line.
  • In Edit Area control, automatically scroll text when use mouse to select text or move cursor.
  • In Edit Area control, find operation is supported and use F3 to find next.
  • In Edit Area control, replace operation is supported.
  • In Edit Area control, use ctrl+f to call out the find dialog and use ctrl+h to call out replace dialog.
  • In Edit Area control, set up right menu interface framework.
  • In Edit Area control, set up environment tip interface framework.
  • In Edit Area control, can use mouse wheel to scroll text.
  • Edit Area control can bind with scroll bar.
  • Use the hard key of up, down, left, and right to select item in the Data List control.
  • Add "shown_mode" property to Popup, make it to support the shown way of modal, modeless, floating.

Fixed Bugs:

Platform Relation

  • In ubuntu linux x11, can't correctly input ".", "/", "!", "\"", "#", "$", "%", "&", "\'", "(" characters to the right cursor pos in the Edit Label control or in the Edit Area control.
  • In ubuntu linxu wayland, can't use ctrl+c, ctrl+v in the Edit Label control or in the Edit Area control.

Spark Studio

  • Do search in the image panel of Project Explorer, sometimes all images disappear.

Version 2.1.1 - 2020-5-8

New Features:

Spark Studio

  • Provide Popup Table Editor to configure the showing behavior of all popups.
  • In the Popup panel of the Project Explorer, add an entry to launch the Popup Table Editor.
  • Remember the property values that user set and automatically apply them to the new created object which has same type.
  • In the Project Explorer, after add a new resource item, maintain the previous top item to be still shown.

Spark Engine

  • Add "priority_threshold" property to Page. When the page is visible, only those popups can be shown which priority are not less than this priority threshold.
  • Add "priority" property to Popup. The higher priority popup is shown above; If the priority is same, the new created popup is shown above.
  • Add "priority_behavior" property to Popup. When the higher (or equal ) priority popup is shown above, the below popup can choose show (may be covered by the above popup), hide (it is shown again when the above popup disappears), or destroy.
  • Deliver Menu List control. This control means the first level children controls are as the menu items, which are automatically layouted in the way of vertcial, vertical-loop, horizontal, and horizontal-loop.
  • Menu List control scrolls menu items which is triggered by the hard key of up, down, left, and right.
  • Export APIs to operate the Menu List control.
  • Export APIs to operate the scrolling behavior of Scroll Field control.
  • Export APIs to manage the children controls of a container type control.
  • Add "focus" property to control, then when the parent page/popup is shown, the control gets focus.
  • In the page/popup stack, each page/popup can has one unique focus control, but only the topmost page/popup is workable.

Version 2.0.4 - 2020-4-24

New Features:

Platform Relation

  • SparkEngine supports iMx8 + Linux Wayland 64Bit environment.
  • SparkEngine supports Android Q(10.0) in NDK mode (Native Activity mode).
  • SparkEngine supports Android Q(10.0) in Addon mode (SurfaceView mode), mixed with JAVA UI.

Fixed Bugs:

Spark Engine

  • In the case of multiple screens, if disable one surface in the config.xml file but there is a flowchart transition in the disabled surface, it crashes when run into this transition.

Version 2.0.3 - 2020-4-8

New Features:

Performance Improvement

  • Improve the performance of blur style (frosted glass) of 2D viewport control.
  • Improve the performance of drawing 3D particle system.
  • Improve the performance of drawing image on 3D surface.
  • Improve the performance of drawing color on 3D surface.
  • Improve rendering performance for self-luminous effect in 3D scene.
  • Improve rendering performance for light effect in 3D scene.

Spark Engine

  • Bring user message to be as the bridge between the View Model plug-in and the Data Provider plug-in, which is thread safety.
  • Ensure thread safety to update the Data Property and Data List of the Context.
  • Ensure thread safety to change language, skin or theme.

Fixed Bugs:

Spark Engine

  • The rendering result of blur style (frosted glass) of 2D viewport control isn't good. It is better to be same with the IPhone.
  • Sometimes the blur content of 2D viewport control is scaled if it is in a scroll field control.
  • In 3D scene, the light halo of self-luminous effect isn't smoothing.
  • Statically scan source code by CppCheck tool and fix all of the errors and warnings.

Version 2.0.2 - 2020-3-20

New Features:

Document

  • Apply for software copyright for Spark.Simulator.

Performance Improvement

  • Improve rendering performance for 2D frame rectangle.
  • Improve rendering performance for 2D line.
  • Improve the performance of importing 3D material file.
  • Improve the performance of importing 3D obj mesh file.
  • Optimize the CDataMap/CObjectMap to improve performance.

Platform Relation

  • Prepare install package for linux version of SparkSource.
  • "Double click SparkStudio to start it in the linux environment. Open /etc/sudoers file and add this line into it: xxx(user name) ALL=(ALL) NOPASSWD:ALL".

Spark Studio

  • During the new project wizard, automatically configure the include and lib path in the VS project file and make configuration file for QNX/Linux.
  • While creating a new project, show an indicator bar to indicate the process.
  • While importing 3D obj mesh to project, show an indicator to indicate the process.
  • Make the interval distance to be same among those 2D controls and 3D objects on the menubar panel.
  • Supports the "delete" hard key to delete the selected resource from the Project Explorer.
  • When add a 3D frame object to the 3D scene, by default, set the first color to it, which is defined in your project, and add 3D solid object, by default, set the first material to it.

Spark Engine

  • As embedded 3D mesh, bring 3D frame-ring and solid-ring object to meet some effect requirement.
  • Can import multiple objects from one obj mesh file.
  • For rotating and scaling 2D controls, supports center, left-top, left-bottom, right-top, right-bottom and free-point as the anchor point.

Fixed Bugs:

Platform Relation

  • On ubuntu linux, the rectangle rendering result is offset to down by one pixel.
  • On windows, if install SparkSource to the windows system folder, can't launch the SparkStudio. But can start it with administrator authority.

Spark Studio

  • When create a new project, the IDE is frozen.
  • After create a new project, remove the default theme, and then create a new theme and skin again, it is failed to save the project.
  • Start SparkStudio, click "File->Open" to show the File Explorer dialog, then directly close the SparkStudio by clicking the right-top "X", the IDE crashes.
  • Start SparkStudio, show the drop-down list of recent project in the "File" tool panel, then directly close the SparkStudio by clicking the right-top "X", the IDE crashes.
  • Sometimes, when remove all 3D entities from the parent group, IDE crashes.
  • Select a 3D group in the Scene Explorer, which has brother groups after it, then import an obj mesh file via the "Project->Mesh" menu item, the imported entity and sub-entities are created in the brother group.

Version 2.0.1 - 2020-3-6

New Features:

Document

  • Update shader_rule.xls.

Performance Improvement

  • The 3D sub-entity supports atlas image.
  • Can transmit atlas image information to outer GPU shader.
  • Improve rendering performance for shadow mapping in 3D scene.
  • Improve rendering performance for 2D off-line render content.
  • Improve rendering performance for 2D image.
  • Improve rendering performance for 2D text.

Platform Relation

  • Prepare install package for windows version of SparkSource.
  • Protect dll/exe/so/bin files from modifying illegally.

Spark Studio

  • When add a new 2D control or 3D object to the Scene Editor, by default, to select it.
  • When add a new Widget/Popup/Page, give default width and height value.
  • Adjust control size by drag-drop operation.
  • Can directly drag Image/Mesh/Widget/3DScene from the Project Explorer to the Scene Explorer.
  • Can directly drag Popup/Page from the Project Explorer to the Flowchart Editor.
  • Can directly drag resource from the Project Explorer to the Property Editor.

Spark Simulator

  • Configure cluster gauge, telltale, warning, setting, and operation on GUI instead of directly modifying the simulator.xml file.
  • Configure CAN data for cluster gauge, telltale, warning, setting, and operation on GUI.
  • Support to send cluster simulation data to HUT via PCAN.

Fixed Bugs:

Platform Relation

  • On windows, libgif depends on the debug version of crt lib.

Spark Studio

  • In the Scene Explorer, if select root node on the Animation or InnerState panel, in the Scene Editor, can still select a 2D control or 3D object to operate it.
  • In the Atlas Image Editor, open a big atlas image and scroll to bottom, then open a small atlas image again, the scroll bar is still at bottom.
  • There are two images (A, B) which are built into a same atlas image, when set image A to a sub-entity, then set image B to the sub-entity again, the Scene Editor doesn't refresh.

Spark Engine

  • As dynamic texture, use widget on a sub-entity, the render result becomes weak.
  • As dynamic texture, use widget on a sub-entity which supports environment mapping, the render result is bottom up.
  • Can't transmit environment mapping params to outer GPU shader.

Version 1.9.3 - 2020-2-19

New Features:

Document

  • Update shader_rule.txt.

Effect Shader

  • In the test project, provide one sample shader which is used on the 3D sub-entity.
  • In the test project, provide two sample shaders which are used on the 3D particles.
  • In the test project, provide two sample shaders which are used as filter to modify a control.
  • In the test project, provide one sample shader which is used as the control background.
  • In the test project, provide two sample shaders which are used as the effect control content.

Performance Improvement

  • Improve rendering performance when apply GPU shader to effect control content.

Platform Relation

  • In linux version of SparkStudio, support mouse wheel operation.
  • In linux version of SparkStdio, move window to the appropriate place when launch this Studio.
  • Support keyboard input in wayland-linux version of SparkEngine.

Fixed Bugs:

Effect Shader

  • In demo_one_display project of spark demo, at first time it is ok to play the wave effect, but after change to another skin and play the wave effect again, the render result is offset to below.
  • In demo_two_display project of spark demo, if set background color to the home_right page, the render result of wave effect is offset to below.
  • In demo_two_display project of spark demo, when the wave effect is playing, the sea / aurora effect will twinkle.
  • In introduction project of spark demo, if set filter to the whole page, the Scene Editor is frozen.

Platform Relation

  • On ubuntu linux x11, open the test project in Spark Studio, first select the home page int the Project Explorer, then select other page, the Studio is frozen.
  • On ubuntu linux x11, open the test project in Spark Studio, double click the home page in the Project Explorer, can't open it and the SparkStudio is frozen.
  • On ubuntu linux x11, if the client test APP setup socket connection with the server test APP, the client app is frozen when exists.
  • On ubuntu linux x11, if the client test APP setup share-memory connection with the server test APP, the client app crashes when exists.
  • On ubuntu linux x11, if resize the Spark Studio by dragging the border, the screen becomes empty.
  • On target linux x11, don't support multiple display in one HMI process. But support multiple surface in one display.
  • On target linux x11, don't support surface offset param which is configured in the config.xml file.
  • On ubuntu linux wayland, don't support multiple surface in one HMI process.

Spark Studio

  • Open a page or popup, set nonzero value to the "Position X" or "Position Y" property, then if empty any other property, the page or popup is shown in the 2D Scene Editor by position offset.
  • When change UI language, the window title of AtlasImage Editor doesn't change.
  • If there isn't the favorite.xml file, can't save it when close the program.
  • Sometimes need to click a 3S scene more times, then can open it.
  • If directly close the program via "X" on the right-top, don’t show save notice.
  • Can't see the grid if set background to page/popup/widget in the 2D Scene Editor.
  • One sub-entity accepts shadow, if an entity is set to generate shadow and then remove this effect, there is still ghost on the sub-entity, but after reload the 3D scene, the ghost disappears.
  • Set a shader to a control as filter, this shader supports control alpha param. While adjusting the alpha property of the control, the control doesn't refresh.
  • Set a shader to an image control as background, this shader supports control alpha param. While adjusting the alpha property of the image control, the control doesn't refresh.

Spark Engine

  • Can't safely remove focus from the CMainFrame stack when control is released.
  • These effect properties of generating reflection, shadow, environment of C3DGroup don’t work. It is not necessary to apply these properties to C3DGroup.
  • These effect properties of generating reflection, shadow, environment of particle system don’t work. It is not necessary to apply these properties to particle system.
  • When an entity is set to generate shadow, if there is no sub-entity which accepts the shadow effect, shouldn't draw this shadow entity.
  • After push a new page to the page stack, those pages in the stack are still visible, which causes low rendering performance.
  • The value of default color property of the 3D particles object can't be used in the outer GPU shader.
  • Don't support 100% transparent in the outer GPU shader which is used as the effect control content.

Version 1.9.2 - 2020-2-4

New Features:

Document

  • Update spark_introduction.pptx.
  • Update coding_rule.xls.

Platform Relation

  • Support system clipboard in linux version of SparkStudio, this is used to copy / paste text.
  • For windows version of SparkStudio, use the RAS mechanism to package license key to file and extract the license key from the license file in runtime environment.
  • For linux version of SparkStudio, use the RAS mechanism to package license key to file and extract the license key from the license file in runtime environment.

Spark Studio

  • The window size of SparkStudio can be configured.
  • The window size of Project Explorer can be configured.
  • The color of whole window can be configured.
  • SparkStudio provides the second set of skin.
  • Enlarge the width of the drop-down list of ComboBox on the Property Editor.

Spark Engine

  • Add "Display Time" property to Popup.
  • By CElementProxy::getProperty and CElementProxy::setProperty method, user can read and write all of the properties of 2D control and 3D object which are defined in the object.xml file.
  • Merge CDocProxy, CWidgetProxy, CPopupProxy, CPageProx, CTDSceneProxy to CSceneProxy. And use CSceneCreatorProxy to create CSceneProxy.
  • Export all types of 2D controls to end user via the C2DControlProxy class.
  • Export all types of 3D objects to end user via the C3DObjectProxy class.
  • Support to highlight multiple sections in the TextLabel/TextArea control.

Version 1.9.1 - 2020-1-22

New Features:

Spark Simulator

  • Simulate cluster operation (hard key) used in the cluster function, and configure the operation information in the cluster.xml file.
  • Simulate cluster gauge, and configure the gauge information in the cluster.xml file.
  • Simulate cluster telltale, and configure the telltale information in the cluster.xml file.
  • Simulate cluster warning, and configure the warning information in the cluster.xml file.
  • Simulate cluster setting, and configure the setting information in the cluster.xml file.
  • Simulate cluster drive-info information, and configure the drive-info information in the cluster.xml file.
  • Support auto-simulation and manual-simulation for cluster function.
  • Send cluster simulation data to HUT in xml format via socket.

Spark Model

  • Configure cluster static param (also the related data property used in GUI) in cluster.xml file and provide class to access theme.
  • Implement cluster function in cluster model, which is used by ViewModel.
  • Define common cluster interface, the specific implementation is as plug-in.
  • As an implementation of the common cluster interface, connect with the Spark Simulator.
  • As an implementation of the common cluster interface, implement auto-simulation function in cluster model.
  • As an implementation of the common cluster interface, provide a sample to get data from platform middleware. This is a plug-in of dynamical library.
  • Configure Cluster-IVI static param in the cluster.xml file and provide class to access theme.
  • Implement Cluster-IVI function in the cluster model, which is used by ViewModel.
  • Define common Cluster-IVI interface and provide a sample to get data from platform middleware. This is a plug-in of dynamical library.

Version 1.8 - 2020-1-9

New Features:

This is baseline version.

Fixed Bugs:

This is baseline version.