an arnold plugin for massive software rendering

level of detail


There's a level of detail implementation, that implies no interpolation, but that could be useful to assign on rendertime, different cdl files for agents depending on their distance to camera.

procedural
{
 name arnoldMassive
 dso "libarnoldMassiveRibReader.so"
 load_at_init on
...
...

 declare arnoldMassive_LOD_1_TYPE_1_OUT constant STRING
 arnoldMassive_LOD_1_TYPE_1 "/absolute/path/to/your/first_LOD_agent_A.cdl"
 declare arnoldMassive_LOD_1_TYPE_1_IN constant STRING
 arnoldMassive_LOD_1_TYPE_1_OUT "/absolute/path/to/your/original_agent_A.cdl"
 declare arnoldMassive_LOD_1_TYPE_1_limit constant FLOAT
 arnoldMassive_LOD_1_TYPE_1_limit 1350


 declare arnoldMassive_LOD_1_TYPE_2_OUT constant STRING
 arnoldMassive_LOD_1_TYPE_2 "/absolute/path/to/your/first_LOD_agent_B.cdl"
 declare arnoldMassive_LOD_1_TYPE_2_IN constant STRING
 arnoldMassive_LOD_1_TYPE_2_OUT "/absolute/path/to/your/original_agent_B.cdl"
 declare arnoldMassive_LOD_1_TYPE_2_limit constant FLOAT
 arnoldMassive_LOD_1_TYPE_2_limit 1350



 declare arnoldMassive_LOD_2_TYPE_1_OUT constant STRING
 arnoldMassive_LOD_2_TYPE_1 "/absolute/path/to/your/second_LOD_agent_A.cdl"
 declare arnoldMassive_LOD_2_TYPE_1_IN constant STRING
 arnoldMassive_LOD_2_TYPE_1_OUT "/absolute/path/to/your/original_agent_A.cdl"
 declare arnoldMassive_LOD_2_TYPE_1_limit constant FLOAT
 arnoldMassive_LOD_2_TYPE_1_limit 1500


 declare arnoldMassive_LOD_2_TYPE_2_OUT constant STRING
 arnoldMassive_LOD_2_TYPE_2 "/absolute/path/to/your/second_LOD_agent_B.cdl"
 declare arnoldMassive_LOD_2_TYPE_2_IN constant STRING
 arnoldMassive_LOD_2_TYPE_2_OUT "/absolute/path/to/your/original_agent_B.cdl"
 declare arnoldMassive_LOD_2_TYPE_2_limit constant FLOAT
 arnoldMassive_LOD_2_TYPE_2_limit 1500




...
...
}

In this specific example, agents of type A closer than 1350 will stay with the original cdl file, agents farther than
1350 but closer than 1500 will go with the LOD_1_TYPE_1 specified cdl, and so on.

Detail levels must start at 1, can go as high as you want, and must be paired with a distance limit and an OUT for pairing on multiple agent scenarios.
There's an auto limit planned, but still under developement.