SLProject
4.2.000
A platform independent 3D computer graphics framework for desktop OS, Android, iOS and online in web browsers
|
Class for benchmark mass animation test scene. More...
#include <AppDemoSceneAnimNodeMass2.h>
Public Member Functions | |
AppDemoSceneAnimNodeMass2 () | |
void | registerAssetsToLoad (SLAssetLoader &al) override |
All assets the should be loaded in parallel must be registered in here. More... | |
void | assemble (SLAssetManager *am, SLSceneView *sv) override |
After parallel loading of the assets the scene gets assembled in here. More... | |
SLNode * | RotatingSpheres (SLAssetManager *am, SLScene *s, SLint depth, SLfloat x, SLfloat y, SLfloat z, SLfloat scale, SLuint resolution, SLVMaterial &mat) |
Creates a recursive rotating sphere group used for performance test. More... | |
Public Member Functions inherited from SLScene | |
SLScene (const SLstring &name) | |
~SLScene () override | |
void | initOculus (SLstring shaderDir) |
void | root3D (SLNode *root3D) |
void | root2D (SLNode *root2D) |
void | skybox (SLSkybox *skybox) |
void | stopAnimations (SLbool stop) |
void | info (SLstring i) |
void | loadTimeMS (SLfloat loadTimeMS) |
SLAnimManager & | animManager () |
SLAssetManager * | assetManager () |
SLNode * | root3D () |
SLNode * | root2D () |
SLSkybox * | skybox () |
SLstring & | info () |
SLfloat | elapsedTimeMS () const |
SLfloat | elapsedTimeSec () const |
SLVEventHandler & | eventHandlers () |
SLfloat | loadTimeMS () const |
SLVLight & | lights () |
SLfloat | fps () const |
AvgFloat & | frameTimesMS () |
AvgFloat & | updateTimesMS () |
AvgFloat & | updateAnimTimesMS () |
AvgFloat & | updateAABBTimesMS () |
AvgFloat & | updateDODTimesMS () |
SLNode * | singleNodeSelected () |
Returns the node if only one is selected. See also SLMesh::selectNodeMesh. More... | |
SLMesh * | singleMeshFullSelected () |
Returns the node if only one is selected. See also SLMesh::selectNodeMesh. More... | |
SLVNode & | selectedNodes () |
SLVMesh & | selectedMeshes () |
SLbool | stopAnimations () const |
SLint | numSceneCameras () |
Returns the number of camera nodes in the scene. More... | |
SLCamera * | nextCameraInScene (SLCamera *activeSVCam) |
Returns the next camera in the scene if there is one. More... | |
bool | onUpdate (bool renderTypeIsRT, bool voxelsAreShown, bool forceCPUSkinning) |
Updates animations and AABBs. More... | |
void | init (SLAssetManager *am) |
virtual void | unInit () |
void | selectNodeMesh (SLNode *nodeToSelect, SLMesh *meshToSelect) |
Handles the full mesh selection from double-clicks. More... | |
void | deselectAllNodesAndMeshes () |
Deselects all nodes and its meshes. More... | |
SLGLOculus * | oculus () |
Public Member Functions inherited from SLObject | |
SLObject (const SLstring &Name="", const SLstring &url="") | |
virtual | ~SLObject () |
void | name (const SLstring &Name) |
void | url (const SLstring &url) |
const SLstring & | name () const |
const SLstring & | url () const |
Additional Inherited Members | |
Protected Attributes inherited from SLScene | |
SLVLight | _lights |
Vector of all lights. More... | |
SLVEventHandler | _eventHandlers |
Vector of all event handler. More... | |
SLAnimManager | _animManager |
Animation manager instance. More... | |
SLAssetManager * | _assetManager |
Pointer to the external assetManager. More... | |
SLNode * | _root3D |
Root node for 3D scene. More... | |
SLNode * | _root2D |
Root node for 2D scene displayed in ortho projection. More... | |
SLSkybox * | _skybox |
pointer to skybox More... | |
SLstring | _info |
scene info string More... | |
SLVNode | _selectedNodes |
Vector of selected nodes. See SLMesh::selectNodeMesh. More... | |
SLVMesh | _selectedMeshes |
Vector of selected meshes. See SLMesh::selectNodeMesh. More... | |
SLfloat | _loadTimeMS |
time to load scene in ms More... | |
SLfloat | _frameTimeMS |
Last frame time in ms. More... | |
SLfloat | _lastUpdateTimeMS |
Last time after update in ms. More... | |
SLfloat | _fps |
Averaged no. of frames per second. More... | |
AvgFloat | _frameTimesMS |
Averaged total time per frame in ms. More... | |
AvgFloat | _updateTimesMS |
Averaged time for update in ms. More... | |
AvgFloat | _updateAABBTimesMS |
Averaged time for update the nodes AABB in ms. More... | |
AvgFloat | _updateAnimTimesMS |
Averaged time for update the animations in ms. More... | |
AvgFloat | _updateDODTimesMS |
Averaged time for update the SLEntities graph. More... | |
SLbool | _stopAnimations |
Global flag for stopping all animations. More... | |
std::unique_ptr< SLGLOculus > | _oculus |
Oculus Rift interface. More... | |
Protected Attributes inherited from SLObject | |
SLstring | _name |
name of an object More... | |
SLstring | _url |
uniform resource locator More... | |
Class for benchmark mass animation test scene.
Definition at line 20 of file AppDemoSceneAnimNodeMass2.h.
AppDemoSceneAnimNodeMass2::AppDemoSceneAnimNodeMass2 | ( | ) |
Definition at line 20 of file AppDemoSceneAnimNodeMass2.cpp.
|
overridevirtual |
After parallel loading of the assets the scene gets assembled in here.
Reimplemented from SLScene.
Definition at line 32 of file AppDemoSceneAnimNodeMass2.cpp.
|
overridevirtual |
All assets the should be loaded in parallel must be registered in here.
Reimplemented from SLScene.
Definition at line 27 of file AppDemoSceneAnimNodeMass2.cpp.
SLNode * AppDemoSceneAnimNodeMass2::RotatingSpheres | ( | SLAssetManager * | am, |
SLScene * | s, | ||
SLint | depth, | ||
SLfloat | x, | ||
SLfloat | y, | ||
SLfloat | z, | ||
SLfloat | scale, | ||
SLuint | resolution, | ||
SLVMaterial & | mat | ||
) |
Creates a recursive rotating sphere group used for performance test.
This performance benchmark is expensive in terms of world matrix updates because all sphere groups rotate. Therefore all children need to update their wm every frame.
am | Pointer to the asset manager |
s | Pointer to project scene aka asset manager |
depth | Max. allowed recursion depth |
x | Position in x direction |
y | Position in y direction |
z | Position in z direction |
scale | Scale factor > 0 and < 1 for the children spheres |
resolution | NO. of stack and slices of the spheres |
mat | Reference to an vector of materials |
Definition at line 111 of file AppDemoSceneAnimNodeMass2.cpp.