MaterialEditor: Improve C/S synchronization
This issue will be relevant when !4939 (merged) will be merged.
Currently, the CS code is working in the MaterialEditor because we synchronize after each property modification. However, there are still some limitations:
- The synchronize synchronizes ALL the OSPRayMaterialLibrary, so the more materials you have, the slower the call will be. For example, a synchronize call is between 25-45ms for more than 50 materials. With only one material, the synchronize call is less than 1ms. We need to add a way, in the VTK side, to load/store only one material or only one property of a given material
- As we synchronize each time a property is modified, when we load a json file, we synchronize all the library for each added material. We could synchronize for each property when the feature is aailable in VTK (first point); or we could wait until all the library is loaded and then synchronize all the library directly
- In C/S, we cannot currently remove a property on the material editor (if you set the color, you must set the same color to default to remove it...)