21   : 
SLScene(
"Mass Animation Test Scene")
 
   23     info(
"Performance test for transform updates from many animations.");
 
   69     const SLint levels      = 3;
 
   70     const SLint gridSize    = 3;
 
   71     const SLint gridHalf    = gridSize / 2;
 
   72     const SLint nodesPerLvl = gridSize * gridSize;
 
   78     for (
SLint i = 0; i < levels; ++i)
 
   82     vector<SLNode*> parents;
 
   83     vector<SLNode*> curParentsVector;
 
   86     parents.push_back(scene);
 
   89     for (
float lvl : nodeSpacing)
 
   91         curParentsVector = parents;
 
   95         for (
auto parent : curParentsVector)
 
   97             for (
SLint i = 0; i < nodesPerLvl; ++i)
 
  101                 parent->addChild(node);
 
  102                 parents.push_back(node);
 
  106                 SLfloat z = (
SLfloat)((i > 0) ? i / gridSize - gridHalf : -gridHalf);
 
  107                 SLVec3f pos(x * lvl * 1.1f, 1.5f, z * lvl * 1.1f);
 
  115                 oss << 
"random anim " << nodeIndex++;
 
The AppCommon class holds the top-level instances of the app-demo.
 
Class declaration for an SLScene inherited class.
 
@ EC_inOutSine
sine easing in and then out
 
@ AL_pingPongLoop
loop forward and backwards
 
SLVec3< SLfloat > SLVec3f
 
void assemble(SLAssetManager *am, SLSceneView *sv) override
After parallel loading of the assets the scene gets assembled in here.
 
void registerAssetsToLoad(SLAssetLoader &al) override
All scene specific assets have to be registered for async loading in here.
 
AppDemoSceneAnimNodeMass()
 
SLAnimation * createNodeAnimation(SLfloat duration)
 
SLAnimation is the base container for all animation data.
 
SLNodeAnimTrack * createNodeAnimTrackForTranslation(SLNode *target, const SLVec3f &endPos)
 
Toplevel holder of the assets meshes, materials, textures and shaders.
 
Active or visible camera node class.
 
void focalDist(const SLfloat f)
 
SLLightSpot class for a spot light source.
 
Defines a standard CG material with textures and a shader program.
 
SLNode represents a node in a hierarchical scene graph.
 
void addChild(SLNode *child)
 
void translation(const SLVec3f &pos, SLTransformSpace relativeTo=TS_parent)
 
virtual void addMesh(SLMesh *mesh)
 
void lookAt(SLfloat targetX, SLfloat targetY, SLfloat targetZ, SLfloat upX=0, SLfloat upY=1, SLfloat upZ=0, SLTransformSpace relativeTo=TS_world)
 
void translate(const SLVec3f &vec, SLTransformSpace relativeTo=TS_object)
 
The SLScene class represents the top level instance holding the scene structure.
 
SLAnimManager & animManager()
 
SceneView class represents a dynamic real time 3D view onto the scene.
 
void camera(SLCamera *camera)