Makes sense, I was wondering if there was any more to it. MikeMax;s example with the trees is perfect.
Here's the responses from Lee and Paul courtesy of Alistair at Digital Skills:
Quote: "
Here's the text I got from Lee about clones and instances:
The difference between CLONE and INSTANCE is that clone is a complete byte for byte copy of the original 3D object used as the source. Instance does not copy the data, and instant 'borrows' the data from the original by reference only. That means, when the original is deleted, the instanced object has no parent to borrow the data from and also disappears. In programming parlance, it's similar to pass by object vs pass by reference.
"
Quote: "
Here's the text I got from Paul (who writes all the code for AGK) about clones and instance objects:
Instances share vertex and collision data with the original object, everything else like images and shaders are separate. There is a caveat on shaders, if the instance object uses a different shader from the original object then it must have exactly the same vertex attribute fields as the shader on the original object.
As far as I can see, the only reason to use instance is to save some space, especially if the model is a complex one with many vertices."
This leaves me to wonder:
Is it possible to modify the location of individual vertices in an instanced object without affecting the original or the other instances? I don't see any 3D commands to manipulate the individual vertices in a 3D object yet, but I believe something similar was available in DBPro via VertexData commands. Something like this would be extremely useful in generating instances of something, like trees, where the instances have random alterations to locations of individual vertices in the object. For example, it could be used as a way to make the height of all of the instances slightly random.
I don't see a way to do this yet, but it would certainly be quite handy!
Nexus 7 (Jelly Bean 4.1.2) -- HTC Droid Incredible 2 (Gingerbread 2.3.?) -- Motorola Droid X (Gingerbread 2.3.4)
Willing to test for you!