by sam » Mon Mar 22, 2021 8:47 am
Hello,
I'm not sure to fully understand your question. Why do you mention redshift?
Anyway, Clarisse has always internally solved instancing. The actual problem is how to export Clarisse scenes in a file that can represent an actual Clarisse scene. Until very recently there was no standard way to represent and efficiently export instancing information that could be read by all other applications. The only way to achieve this was to encode the scene info in order to decode and rebuild it in the host application. However, the information was always available in Clarisse.
Today, USD can somewhat and in a limited manner accommodate this issue through USD point instancers. Again this is far to be perfect because the scene structure of USD is pretty limited compared to Clarisse. It is based on kinematic hierarchy and it's completely incapable of instancing items that are not children of the instancers. For example, you can't have asset A instanced if asset A (and all its dependencies) isn't a child of the scatterer/instancer. Just imagine if Clarisse didn't have its context hierarchy. It's like you only have the kinematic hierarchy to organize your scene and combiners, scatterers could only "see" their children.
We've actually spent a very long time to devise ways to translate Clarisse scenes in USD in the most efficient manner possible. The USD exporter will be available in Clarisse 5.
Sam Assadian
Isotropix
CEO/Founder