SLProject
4.2.000
A platform independent 3D computer graphics framework for desktop OS, Android, iOS and online in web browsers
|
Class for the benchmark scene for Jans Universe. More...
#include <AppDemoSceneJansUniverse.h>
Public Member Functions | |
AppDemoSceneJansUniverse () | |
void | registerAssetsToLoad (SLAssetLoader &al) override |
All scene specific assets have to be registered for async loading in here. More... | |
void | assemble (SLAssetManager *am, SLSceneView *sv) override |
After parallel loading of the assets the scene gets assembled in here. More... | |
void | addUniverseLevel (SLAssetManager *am, SLScene *s, SLNode *parent, SLint parentID, SLuint currentLevel, SLuint levels, SLuint childCount, SLVMaterial &materials, SLVMesh &meshes, SLuint &numNodes) |
Adds another level to Jan's Universe scene. More... | |
void | generateUniverse (SLAssetManager *am, SLScene *s, SLNode *parent, SLint parentID, SLuint levels, SLuint childCount, SLVMaterial &materials, SLVMesh &meshes) |
Generates the Jan's Universe scene. 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 |
Private Attributes | |
SLGLTexture * | _textureC |
SLGLTexture * | _textureM |
SLGLTexture * | _textureR |
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 the benchmark scene for Jans Universe.
Definition at line 21 of file AppDemoSceneJansUniverse.h.
AppDemoSceneJansUniverse::AppDemoSceneJansUniverse | ( | ) |
Definition at line 31 of file AppDemoSceneJansUniverse.cpp.
void AppDemoSceneJansUniverse::addUniverseLevel | ( | SLAssetManager * | am, |
SLScene * | s, | ||
SLNode * | parent, | ||
SLint | parentID, | ||
SLuint | currentLevel, | ||
SLuint | levels, | ||
SLuint | childCount, | ||
SLVMaterial & | materials, | ||
SLVMesh & | meshes, | ||
SLuint & | numNodes | ||
) |
Adds another level to Jan's Universe scene.
Definition at line 110 of file AppDemoSceneJansUniverse.cpp.
|
overridevirtual |
After parallel loading of the assets the scene gets assembled in here.
Reimplemented from SLScene.
Definition at line 46 of file AppDemoSceneJansUniverse.cpp.
void AppDemoSceneJansUniverse::generateUniverse | ( | SLAssetManager * | am, |
SLScene * | s, | ||
SLNode * | parent, | ||
SLint | parentID, | ||
SLuint | levels, | ||
SLuint | childCount, | ||
SLVMaterial & | materials, | ||
SLVMesh & | meshes | ||
) |
Generates the Jan's Universe scene.
Definition at line 166 of file AppDemoSceneJansUniverse.cpp.
|
overridevirtual |
All scene specific assets have to be registered for async loading in here.
All assets the should be loaded in parallel must be registered in here.
Reimplemented from SLScene.
Definition at line 38 of file AppDemoSceneJansUniverse.cpp.
|
private |
Definition at line 64 of file AppDemoSceneJansUniverse.h.
|
private |
Definition at line 65 of file AppDemoSceneJansUniverse.h.
|
private |
Definition at line 66 of file AppDemoSceneJansUniverse.h.