Ok, have updated the instance a little bit.
Now it should be possible to render any type of instance trees. This means, an instance can have a mesh child, which can have a null child which have an instance child of another model. The tree can also be so deep and nested as you want.
Have also updated the log messages. Now it shows only the instance which is exported, not, as example, 1000 times a cube.
Also the export to an octane scatter is changed.
Previous, i create a scatter, add one matrix, read in the scatter, add the next matrix...
Now, i create the scatter and write in all the transformation matrixes at once.
When the loggin is on, all optimizations will increase the speed dramatically by factor 100 or more.
With logging off, i think you will get a boost of factor 5.
All this depends of the complexity of your model and the number of instances.
The next step i plan is to decouple the instances from the mesh, so that i have a seperate group.
The same i will make for the mesh, so it is stand alone.
In the end i will have a main object group, which should handle the communication between the subgroups (meshes, instances).
So it´s easier to implement point clouds as a seperate subgroup.
Maybe also a light subgroup which converts any light to a mesh and writes out an IES profil. So you can use spot, point and area lights with fall offs and other things.