Castor3D 0.16.0
Multiplatform 3D engine
|
#include <Scene.hpp>
Public Member Functions | |
C3D_API | Scene (castor::String const &name, Engine &engine) |
Constructor. | |
C3D_API | ~Scene () noexcept |
Destructor. | |
C3D_API void | initialise () |
Initialises the scene. | |
C3D_API void | updateBoundingBox () |
Computes the scene AABB. | |
C3D_API void | cleanup () |
Clears the maps, leaves the root nodes. | |
C3D_API void | update (CpuUpdater &updater) |
Updates the scene before render. | |
C3D_API void | upload (UploadData &uploader) |
Uploads the scene objects data. | |
C3D_API void | update (GpuUpdater &updater) |
Updates the scene device dependant stuff. | |
C3D_API void | setBackground (SceneBackgroundUPtr value) |
Sets the background for the scene. | |
C3D_API void | merge (Scene &scene) |
Merges the content of the given scene to this scene. | |
C3D_API uint32_t | getVertexCount () const |
Retrieves the vertices count. | |
C3D_API uint32_t | getFaceCount () const |
Retrieves the faces count. | |
C3D_API SceneFlags | getFlags () const |
C3D_API bool | hasShadows () const |
C3D_API bool | hasShadows (LightType lightType) const |
C3D_API void | addEnvironmentMap (SceneNode &node) |
Creates a reflection map for given node. | |
C3D_API void | removeEnvironmentMap (SceneNode &node) |
Creates a reflection map for given node. | |
C3D_API bool | hasEnvironmentMap (SceneNode &node) const |
C3D_API EnvironmentMap & | getEnvironmentMap () const |
C3D_API uint32_t | getEnvironmentMapIndex (SceneNode const &node) const |
C3D_API castor::String const & | getBackgroundModel () const |
C3D_API castor::Vector< LightingModelID > | getLightingModelsID () const |
C3D_API AnimatedObjectRPtr | addAnimatedTexture (TextureSourceInfo const &sourceInfo, TextureConfiguration const &config, Pass &pass) |
Creates an animated texture and adds it to animated textures group. | |
C3D_API void | markDirty (SceneNode &object) |
Adds given node to dirty nodes list. | |
C3D_API void | markDirty (BillboardBase &object) |
Adds given BillboardBase to dirty BillboardBase list. | |
C3D_API void | markDirty (MovableObject &object) |
Adds given object to dirty object list. | |
Getters. | |
C3D_API BackgroundModelID | getBackgroundModelId () const |
C3D_API LightingModelID | getDefaultLightingModel () const |
C3D_API castor::String | getDefaultLightingModelName () const |
C3D_API bool | needsGlobalIllumination () const |
C3D_API bool | needsGlobalIllumination (LightType ltType, GlobalIlluminationType giType) const |
C3D_API crg::SemaphoreWaitArray | getRenderTargetsSemaphores () const |
C3D_API uint32_t | getLpvGridSize () const |
C3D_API bool | hasBindless () const |
C3D_API ashes::DescriptorSetLayout * | getBindlessTexDescriptorLayout () const |
C3D_API ashes::DescriptorPool * | getBindlessTexDescriptorPool () const |
C3D_API ashes::DescriptorSet * | getBindlessTexDescriptorSet () const |
C3D_API ashes::Buffer< ModelBufferConfiguration > const & | getModelBuffer () const |
C3D_API ashes::Buffer< BillboardUboConfiguration > const & | getBillboardsBuffer () const |
C3D_API bool | hasObjects (LightingModelID lightingModelId) const |
C3D_API bool | hasIBLSupport (LightingModelID lightingModelId) const |
castor::BoundingBox const & | getBoundingBox () const noexcept |
SceneBackgroundRPtr | getBackground () const noexcept |
castor::RgbColour const & | getBackgroundColour () const noexcept |
SceneNodeRPtr | getRootNode () const noexcept |
SceneNodeRPtr | getCameraRootNode () const noexcept |
SceneNodeRPtr | getObjectRootNode () const noexcept |
castor::RgbColour const & | getAmbientLight () const noexcept |
Fog const & | getFog () const noexcept |
Fog & | getFog () noexcept |
FrameListener & | getListener () const noexcept |
bool | isInitialised () const noexcept |
bool | needsSubsurfaceScattering () const noexcept |
bool | hasOpaqueObjects () const noexcept |
bool | hasTransparentObjects () const noexcept |
uint32_t | getDirectionalShadowCascades () const noexcept |
float | getLpvIndirectAttenuation () const noexcept |
VctConfig const & | getVoxelConeTracingConfig () const noexcept |
VctConfig & | getVoxelConeTracingConfig () noexcept |
SceneRenderNodes & | getRenderNodes () const noexcept |
LightFactory & | getLightsFactory () const noexcept |
crg::ResourcesCache & | getResources () noexcept |
DebugConfig & | getDebugConfig () const noexcept |
C3D_API void | setDirectionalShadowCascades (uint32_t value) |
C3D_API void | setLpvIndirectAttenuation (float value) |
C3D_API void | setDefaultLightingModel (LightingModelID value) |
void | setBackgroundColour (castor::RgbColour const &value) noexcept |
void | setAmbientLight (castor::RgbColour const &value) noexcept |
GeometryCache::ElementObsT | addGeometry (GeometryCache::ElementPtrT element) |
Public Member Functions inherited from castor::OwnedBy< Engine > | |
Engine * | getOwner () const |
Public Member Functions inherited from castor::NamedBaseT< T > | |
NamedBaseT (T name) noexcept | |
Constructor. | |
T const & | getName () const noexcept |
Retrieves the name. | |
void | rename (T name) noexcept |
Public Attributes | |
OnSceneUpdate | onUpdate |
OnBackgroundChanged | onSetBackground |
Static Public Attributes | |
static C3D_API castor::String | CameraRootNode |
static C3D_API castor::String | ObjectRootNode |
static C3D_API castor::String | RootNode |
Additional Inherited Members | |
Protected Member Functions inherited from castor::OwnedBy< Engine > | |
OwnedBy (Engine &owner) | |
Constructor. | |
Protected Attributes inherited from castor::NamedBaseT< T > | |
T | m_name |
C3D_API castor3d::Scene::Scene | ( | castor::String const & | name, |
Engine & | engine ) |
Constructor.
[in] | name | The scene name |
[in] | engine | The core engine |
|
noexcept |
Destructor.
C3D_API AnimatedObjectRPtr castor3d::Scene::addAnimatedTexture | ( | TextureSourceInfo const & | sourceInfo, |
TextureConfiguration const & | config, | ||
Pass & | pass ) |
Creates an animated texture and adds it to animated textures group.
[in] | sourceInfo | The texture source info. |
[in] | config | The texture configuration. |
[in] | pass | The target material pass. |
Creates a reflection map for given node.
[in] | node | The scene node from which the reflection map is generated. |
|
inline |
C3D_API void castor3d::Scene::cleanup | ( | ) |
Clears the maps, leaves the root nodes.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
C3D_API castor::String const & castor3d::Scene::getBackgroundModel | ( | ) | const |
C3D_API BackgroundModelID castor3d::Scene::getBackgroundModelId | ( | ) | const |
C3D_API ashes::Buffer< BillboardUboConfiguration > const & castor3d::Scene::getBillboardsBuffer | ( | ) | const |
C3D_API ashes::DescriptorSetLayout * castor3d::Scene::getBindlessTexDescriptorLayout | ( | ) | const |
C3D_API ashes::DescriptorPool * castor3d::Scene::getBindlessTexDescriptorPool | ( | ) | const |
C3D_API ashes::DescriptorSet * castor3d::Scene::getBindlessTexDescriptorSet | ( | ) | const |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
C3D_API LightingModelID castor3d::Scene::getDefaultLightingModel | ( | ) | const |
C3D_API castor::String castor3d::Scene::getDefaultLightingModelName | ( | ) | const |
|
inlinenoexcept |
C3D_API EnvironmentMap & castor3d::Scene::getEnvironmentMap | ( | ) | const |
[in] | node | The scene node. |
C3D_API uint32_t castor3d::Scene::getFaceCount | ( | ) | const |
Retrieves the faces count.
C3D_API SceneFlags castor3d::Scene::getFlags | ( | ) | const |
|
inlinenoexcept |
|
inlinenoexcept |
C3D_API castor::Vector< LightingModelID > castor3d::Scene::getLightingModelsID | ( | ) | const |
|
inlinenoexcept |
|
inlinenoexcept |
References CU_Require.
C3D_API uint32_t castor3d::Scene::getLpvGridSize | ( | ) | const |
|
inlinenoexcept |
C3D_API ashes::Buffer< ModelBufferConfiguration > const & castor3d::Scene::getModelBuffer | ( | ) | const |
|
inlinenoexcept |
|
inlinenoexcept |
C3D_API crg::SemaphoreWaitArray castor3d::Scene::getRenderTargetsSemaphores | ( | ) | const |
|
inlinenoexcept |
|
inlinenoexcept |
C3D_API uint32_t castor3d::Scene::getVertexCount | ( | ) | const |
Retrieves the vertices count.
|
inlinenoexcept |
|
inlinenoexcept |
C3D_API bool castor3d::Scene::hasBindless | ( | ) | const |
[in] | node | The scene node. |
C3D_API bool castor3d::Scene::hasIBLSupport | ( | LightingModelID | lightingModelId | ) | const |
C3D_API bool castor3d::Scene::hasObjects | ( | LightingModelID | lightingModelId | ) | const |
|
inlinenoexcept |
C3D_API bool castor3d::Scene::hasShadows | ( | ) | const |
|
inlinenoexcept |
C3D_API void castor3d::Scene::initialise | ( | ) |
Initialises the scene.
|
inlinenoexcept |
C3D_API void castor3d::Scene::markDirty | ( | BillboardBase & | object | ) |
Adds given BillboardBase to dirty BillboardBase list.
[in] | object | The scene node. |
C3D_API void castor3d::Scene::markDirty | ( | MovableObject & | object | ) |
Adds given object to dirty object list.
[in] | object | The object. |
Adds given node to dirty nodes list.
[in] | object | The scene node. |
Merges the content of the given scene to this scene.
[in] | scene | The scene to merge into this one |
C3D_API bool castor3d::Scene::needsGlobalIllumination | ( | ) | const |
C3D_API bool castor3d::Scene::needsGlobalIllumination | ( | LightType | ltType, |
GlobalIlluminationType | giType ) const |
|
inlinenoexcept |
Creates a reflection map for given node.
[in] | node | The scene node from which the reflection map is generated. |
|
inlinenoexcept |
C3D_API void castor3d::Scene::setBackground | ( | SceneBackgroundUPtr | value | ) |
Sets the background for the scene.
[in] | value | The new value. |
|
inlinenoexcept |
C3D_API void castor3d::Scene::setDefaultLightingModel | ( | LightingModelID | value | ) |
C3D_API void castor3d::Scene::setDirectionalShadowCascades | ( | uint32_t | value | ) |
name Mutators.
C3D_API void castor3d::Scene::setLpvIndirectAttenuation | ( | float | value | ) |
C3D_API void castor3d::Scene::update | ( | CpuUpdater & | updater | ) |
Updates the scene before render.
C3D_API void castor3d::Scene::update | ( | GpuUpdater & | updater | ) |
Updates the scene device dependant stuff.
C3D_API void castor3d::Scene::updateBoundingBox | ( | ) |
Computes the scene AABB.
C3D_API void castor3d::Scene::upload | ( | UploadData & | uploader | ) |
Uploads the scene objects data.
|
static |
The cameras root node name.
|
static |
The objects root node name.
|
mutable |
The signal raised when the scene background has changed.
|
mutable |
The signal raised when the scene is updating.
|
static |
The root node name.