![]() |
SLProject
4.3.020
A platform independent 3D computer graphics framework for desktop OS, Android, iOS and online in web browsers
|
Class for the Muttenzer Box path tracing scene with soft gloss materials. More...
#include <AppDemoScenePTMuttenzerBox2.h>
Public Member Functions | |
| AppDemoScenePTMuttenzerBox2 () | |
| 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... | |
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 * | _tex1 |
| SLGLProgram * | _spRefl |
| SLGLProgram * | _spRefr |
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 Muttenzer Box path tracing scene with soft gloss materials.
The same box and the same two spheres as AppDemoScenePTMuttenzerBox, with one difference: the shininess of the mirror sphere and both the translucency and the shininess of the glass sphere are 100 instead of SLMaterial::PERFECT (1000). Below that limit the path tracer draws the direction from the Phong lobe of the exponent (SLRay::reflectMC and SLRay::refractMC) instead of taking the perfect specular one, so the mirror sphere reflects blurred and the glass sphere is frosted in its refraction as well as in its surface reflection. The glass sphere is also given a red transmissive color, which makes its caustic on the floor red. Only the path tracer shows any of this; the OpenGL preview and the ray tracer render the scene exactly like the original.
Definition at line 30 of file AppDemoScenePTMuttenzerBox2.h.
| AppDemoScenePTMuttenzerBox2::AppDemoScenePTMuttenzerBox2 | ( | ) |
Definition at line 21 of file AppDemoScenePTMuttenzerBox2.cpp.
|
overridevirtual |
After parallel loading of the assets the scene gets assembled in here.
Reimplemented from SLScene.
Definition at line 52 of file AppDemoScenePTMuttenzerBox2.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 33 of file AppDemoScenePTMuttenzerBox2.cpp.
|
private |
Definition at line 56 of file AppDemoScenePTMuttenzerBox2.h.
|
private |
Definition at line 57 of file AppDemoScenePTMuttenzerBox2.h.
|
private |
Definition at line 55 of file AppDemoScenePTMuttenzerBox2.h.