Can the same instance of the various RenderStates be used across multiple Node in the scene? Some
cursory reading of the code looks like RenderStates might automatically be cached for reuse. Am I reading this right.
In situations with large number of independent Spatials which may have the same RenderState, but it's not possible
to assign them in advance to a parent with that common State. We had to have our mechanism for caching Java3D Appearances due to performance/memory issues in this situation.
I would use the design pattern "flyweight" by creating custom material states storing common information into a single object. That way, each spatial would use a separate render state but the heavy data would be in a single place.