Because trees and general vegetation are often polygon-intensive, careful memory management can be important. Mostly, this means being aware of which configurations use more memory than others.
When a SpeedTree object is created, SpeedTree generates the geometry for Clarisse (i.e. positions, uv coords, normals, etc). When that object is copied, pasted, and translated next to the original, the copy is an instance which merely references the original's geometry. So far so good, but there are several attributes that can be changed in the instance that will force it to become a copy behind the scenes (even if they're from the same STE/SPM file), doubling the memory needed to represent the two objects. These attributes are:
There are two tools available to help users determine how much memory is being used.
This report details the STE files that are currently in RAM, the ones needed to generate the geometry passed into Clarisse. One STE file can be used to generate an entire forest of trees, but once copies between to use different parameters as stated above (e.g. different season or seed attributes), other STE files will be loaded into RAM. This report is useful for keeping large scenes manageable.
Below is a screenshot of a simple example Clarisse/SpeedTree scene. It is composed of:
The SpeedTree internal statistics report for this particular scene:
SpeedTree Internal Report ====================================================================== 1. (1 ref) [C:/trees/growth_sapling/Sapling_Growth.ste] # textures: 121 materials: 34 # polygons: 28,638 resolution: Low # vertices: 31,165 season: 0.00 (dropped: off) # indices: 85,914 growth defined: yes # growth frames: 500 growth frame: 175 seed: 0 2. (1 ref) [C:/trees/growth_sapling/Sapling_Growth.ste] # textures: 121 materials: 34 # polygons: 166,847 resolution: Low # vertices: 194,938 season: 0.00 (dropped: off) # indices: 500,541 growth defined: yes # growth frames: 500 growth frame: 375 seed: 0 3. (1 ref) [C:/trees/palmetto/Palmetto_1.ste] # textures: 101 materials: 30 # polygons: 691,401 resolution: Low # vertices: 565,856 season: 0.00 (dropped: off) # indices: 2,074,203 growth defined: no seed: 0 4. (1 ref) [C:/trees/palmetto/Palmetto_1.ste] # textures: 101 materials: 30 # polygons: 1,132,421 resolution: Low # vertices: 923,958 season: 0.00 (dropped: off) # indices: 3,397,263 growth defined: no seed: 56 SpeedTree: there are [ 4 ] models and variants loaded, [ 4 ] total refs, and [ 2,019,307 ] unique polys. Right-click this message/log for details.
The last line is what will appear in the Clarisse status bar. Right-clicking it will show the full log which will also reveal the full SpeedTree report.
In relation to the example scene, two separate Sapling_Growth.ste files are loaded since they are at different growth stages. And while there are four Palmetto trees in the scene, only two STEs are loaded. Three of them share the same main attributes (they only differ in translation and scale) and since the fourth has a different seed, a separate STE file is used.
Wind has a deep impact on the SpeedTree plugin instance/copy dynamic which essentially boils down this: if a wind object causes one tree to become a different shape than another, a separate copy will be created.
About the only case where wind won't cause copies to be made is when directional wind is applied to models that share the same orientation. Nearly every other case will force copies for each tree object, including: