Castor3D 0.16.0
Multiplatform 3D engine
Fonctions membres publiques | Attributs publics | Attributs publics statiques | Liste de tous les membres
Référence de la classe castor3d::Scene

#include <Scene.hpp>

Graphe d'héritage de castor3d::Scene:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::Scene:
Collaboration graph
[légende]

Fonctions membres publiques

C3D_API Scene (castor::String const &name, Engine &engine)
 Constructeur.
 
C3D_API ~Scene () noexcept
 Destructeur.
 
C3D_API void initialise ()
 Initialise la scène.
 
C3D_API void updateBoundingBox ()
 Calcule l'AABB de la scène.
 
C3D_API void cleanup ()
 Vide les maps, laisse les noeuds pères.
 
C3D_API void update (CpuUpdater &updater)
 Met à jour la scène avant le rendu.
 
C3D_API void upload (UploadData &uploader)
 Upload les données des objets de la scène.
 
C3D_API void update (GpuUpdater &updater)
 Met à jour les objets de scène dépendant du device.
 
C3D_API void setBackground (SceneBackgroundUPtr value)
 Définit le fond de la scène.
 
C3D_API void merge (Scene &scene)
 Intègre à cette scène le contenu de celle donnée.
 
C3D_API uint32_t getVertexCount () const
 Récupère le nombre de sommets.
 
C3D_API uint32_t getFaceCount () const
 Récupère le nombre de faces.
 
C3D_API SceneFlags getFlags () const
 
C3D_API bool hasShadows () const
 
C3D_API bool hasShadows (LightType lightType) const
 
C3D_API void addEnvironmentMap (SceneNode &node)
 Crée une reflection map pour le noeud donné.
 
C3D_API void removeEnvironmentMap (SceneNode &node)
 Crée une reflection map pour le noeud donné.
 
C3D_API bool hasEnvironmentMap (SceneNode &node) const
 
C3D_API EnvironmentMapgetEnvironmentMap () const
 
C3D_API uint32_t getEnvironmentMapIndex (SceneNode const &node) const
 
C3D_API castor::String const & getBackgroundModel () const
 
C3D_API castor::Vector< LightingModelIDgetLightingModelsID () const
 
C3D_API AnimatedObjectRPtr addAnimatedTexture (TextureSourceInfo const &sourceInfo, TextureConfiguration const &config, Pass &pass)
 Crée une texture animée et l'ajoute au group e de textures animées.
 
C3D_API void markDirty (SceneNode &object)
 Ajoute le noeud donné à la liste des noeuds à mettre à jour.
 
C3D_API void markDirty (BillboardBase &object)
 Ajoute le BillboardBase donné à la liste des BillboardBase à mettre à jour.
 
C3D_API void markDirty (MovableObject &object)
 Ajoute l'objet donné à la liste des objets à mettre à jour.
 

Accesseurs.

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
 
FoggetFog () noexcept
 
FrameListenergetListener () 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
 
VctConfiggetVoxelConeTracingConfig () noexcept
 
SceneRenderNodesgetRenderNodes () const noexcept
 
LightFactorygetLightsFactory () const noexcept
 
crg::ResourcesCache & getResources () noexcept
 
DebugConfiggetDebugConfig () 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)
 
- Fonctions membres publiques hérités de castor::OwnedBy< Engine >
Engine * getOwner () const
 L'objet propriétaire.
 
- Fonctions membres publiques hérités de castor::NamedBaseT< T >
 NamedBaseT (T name) noexcept
 Constructeur.
 
T const & getName () const noexcept
 Récupère le nom.
 
void rename (T name) noexcept
 

Attributs publics

OnSceneUpdate onUpdate
 
OnBackgroundChanged onSetBackground
 

Attributs publics statiques

static C3D_API castor::String CameraRootNode
 
static C3D_API castor::String ObjectRootNode
 
static C3D_API castor::String RootNode
 

Membres hérités additionnels

- Fonctions membres protégées hérités de castor::OwnedBy< Engine >
 OwnedBy (Engine &owner)
 Constructeur.
 
- Attributs protégés hérités de castor::NamedBaseT< T >
m_name
 

Documentation des constructeurs et destructeur

◆ Scene()

C3D_API castor3d::Scene::Scene ( castor::String const & name,
Engine & engine )

Constructeur.

Paramètres
[in]nameLe nom de la scène
[in]engineLe moteur

◆ ~Scene()

C3D_API castor3d::Scene::~Scene ( )
noexcept

Destructeur.

Documentation des fonctions membres

◆ addAnimatedTexture()

C3D_API AnimatedObjectRPtr castor3d::Scene::addAnimatedTexture ( TextureSourceInfo const & sourceInfo,
TextureConfiguration const & config,
Pass & pass )

Crée une texture animée et l'ajoute au group e de textures animées.

Paramètres
[in]sourceInfoLes informations de source de la texture.
[in]configLa configuration de la texture.
[in]passLa passe de matériau cible.
Renvoie
La texture animée.

◆ addEnvironmentMap()

C3D_API void castor3d::Scene::addEnvironmentMap ( SceneNode & node)

Crée une reflection map pour le noeud donné.

Paramètres
[in]nodeLe noeud de scène depuis lequel la reflection map est générée.

◆ addGeometry()

GeometryCache::ElementObsT castor3d::Scene::addGeometry ( GeometryCache::ElementPtrT element)
inline

◆ cleanup()

C3D_API void castor3d::Scene::cleanup ( )

Vide les maps, laisse les noeuds pères.

◆ getAmbientLight()

castor::RgbColour const & castor3d::Scene::getAmbientLight ( ) const
inlinenoexcept

◆ getBackground()

SceneBackgroundRPtr castor3d::Scene::getBackground ( ) const
inlinenoexcept

◆ getBackgroundColour()

castor::RgbColour const & castor3d::Scene::getBackgroundColour ( ) const
inlinenoexcept

◆ getBackgroundModel()

C3D_API castor::String const & castor3d::Scene::getBackgroundModel ( ) const
Renvoie
Le nom du modèle de fond.

◆ getBackgroundModelId()

C3D_API BackgroundModelID castor3d::Scene::getBackgroundModelId ( ) const

◆ getBillboardsBuffer()

C3D_API ashes::Buffer< BillboardUboConfiguration > const & castor3d::Scene::getBillboardsBuffer ( ) const

◆ getBindlessTexDescriptorLayout()

C3D_API ashes::DescriptorSetLayout * castor3d::Scene::getBindlessTexDescriptorLayout ( ) const

◆ getBindlessTexDescriptorPool()

C3D_API ashes::DescriptorPool * castor3d::Scene::getBindlessTexDescriptorPool ( ) const

◆ getBindlessTexDescriptorSet()

C3D_API ashes::DescriptorSet * castor3d::Scene::getBindlessTexDescriptorSet ( ) const

◆ getBoundingBox()

castor::BoundingBox const & castor3d::Scene::getBoundingBox ( ) const
inlinenoexcept

◆ getCameraRootNode()

SceneNodeRPtr castor3d::Scene::getCameraRootNode ( ) const
inlinenoexcept

◆ getDebugConfig()

DebugConfig & castor3d::Scene::getDebugConfig ( ) const
inlinenoexcept

◆ getDefaultLightingModel()

C3D_API LightingModelID castor3d::Scene::getDefaultLightingModel ( ) const

◆ getDefaultLightingModelName()

C3D_API castor::String castor3d::Scene::getDefaultLightingModelName ( ) const

◆ getDirectionalShadowCascades()

uint32_t castor3d::Scene::getDirectionalShadowCascades ( ) const
inlinenoexcept

◆ getEnvironmentMap()

C3D_API EnvironmentMap & castor3d::Scene::getEnvironmentMap ( ) const
Renvoie
Récupère la reflection map.
Remarques
Appelez hasEnvironmentMap avant d'appeler cette fonction (celle-ci retournant une référence sur une EnvironmentMap existante)

◆ getEnvironmentMapIndex()

C3D_API uint32_t castor3d::Scene::getEnvironmentMapIndex ( SceneNode const & node) const
Renvoie
Récupère l'indice de la reflection map pour le noeud donné.
Remarques
Appelez hasEnvironmentMap avant d'appeler cette fonction (celle-ci retournant une référence sur une EnvironmentMap existante)
Paramètres
[in]nodeLe noeud de scène.

◆ getFaceCount()

C3D_API uint32_t castor3d::Scene::getFaceCount ( ) const

Récupère le nombre de faces.

Renvoie
La valeur

◆ getFlags()

C3D_API SceneFlags castor3d::Scene::getFlags ( ) const
Renvoie
Les indicateurs de la scène.

◆ getFog() [1/2]

Fog const & castor3d::Scene::getFog ( ) const
inlinenoexcept

◆ getFog() [2/2]

Fog & castor3d::Scene::getFog ( )
inlinenoexcept

◆ getLightingModelsID()

C3D_API castor::Vector< LightingModelID > castor3d::Scene::getLightingModelsID ( ) const
Renvoie
Les noms des modèles d'éclairage pour le modèle de fond actuel.

◆ getLightsFactory()

LightFactory & castor3d::Scene::getLightsFactory ( ) const
inlinenoexcept

◆ getListener()

FrameListener & castor3d::Scene::getListener ( ) const
inlinenoexcept

Références CU_Require.

◆ getLpvGridSize()

C3D_API uint32_t castor3d::Scene::getLpvGridSize ( ) const

◆ getLpvIndirectAttenuation()

float castor3d::Scene::getLpvIndirectAttenuation ( ) const
inlinenoexcept

◆ getModelBuffer()

C3D_API ashes::Buffer< ModelBufferConfiguration > const & castor3d::Scene::getModelBuffer ( ) const

◆ getObjectRootNode()

SceneNodeRPtr castor3d::Scene::getObjectRootNode ( ) const
inlinenoexcept

◆ getRenderNodes()

SceneRenderNodes & castor3d::Scene::getRenderNodes ( ) const
inlinenoexcept

◆ getRenderTargetsSemaphores()

C3D_API crg::SemaphoreWaitArray castor3d::Scene::getRenderTargetsSemaphores ( ) const

◆ getResources()

crg::ResourcesCache & castor3d::Scene::getResources ( )
inlinenoexcept

◆ getRootNode()

SceneNodeRPtr castor3d::Scene::getRootNode ( ) const
inlinenoexcept

◆ getVertexCount()

C3D_API uint32_t castor3d::Scene::getVertexCount ( ) const

Récupère le nombre de sommets.

Renvoie
La valeur

◆ getVoxelConeTracingConfig() [1/2]

VctConfig const & castor3d::Scene::getVoxelConeTracingConfig ( ) const
inlinenoexcept

◆ getVoxelConeTracingConfig() [2/2]

VctConfig & castor3d::Scene::getVoxelConeTracingConfig ( )
inlinenoexcept

◆ hasBindless()

C3D_API bool castor3d::Scene::hasBindless ( ) const

◆ hasEnvironmentMap()

C3D_API bool castor3d::Scene::hasEnvironmentMap ( SceneNode & node) const
Renvoie
Dit s'il y a une reflection map pour le noeud donné.
Paramètres
[in]nodeLe noeud de scène.

◆ hasIBLSupport()

C3D_API bool castor3d::Scene::hasIBLSupport ( LightingModelID lightingModelId) const

◆ hasObjects()

C3D_API bool castor3d::Scene::hasObjects ( LightingModelID lightingModelId) const

◆ hasOpaqueObjects()

bool castor3d::Scene::hasOpaqueObjects ( ) const
inlinenoexcept

◆ hasShadows() [1/2]

C3D_API bool castor3d::Scene::hasShadows ( ) const
Renvoie
Dit si la scène a au moins une source lumineuse projetant des ombres.

◆ hasShadows() [2/2]

C3D_API bool castor3d::Scene::hasShadows ( LightType lightType) const
Renvoie
Dit si la scène a au moins une source lumineuse du type donné projetant des ombres.

◆ hasTransparentObjects()

bool castor3d::Scene::hasTransparentObjects ( ) const
inlinenoexcept

◆ initialise()

C3D_API void castor3d::Scene::initialise ( )

Initialise la scène.

◆ isInitialised()

bool castor3d::Scene::isInitialised ( ) const
inlinenoexcept

◆ markDirty() [1/3]

C3D_API void castor3d::Scene::markDirty ( BillboardBase & object)

Ajoute le BillboardBase donné à la liste des BillboardBase à mettre à jour.

Paramètres
[in]objectLe noeud de scène.

◆ markDirty() [2/3]

C3D_API void castor3d::Scene::markDirty ( MovableObject & object)

Ajoute l'objet donné à la liste des objets à mettre à jour.

Paramètres
[in]objectL'objet.

◆ markDirty() [3/3]

C3D_API void castor3d::Scene::markDirty ( SceneNode & object)

Ajoute le noeud donné à la liste des noeuds à mettre à jour.

Paramètres
[in]objectLe noeud de scène.

◆ merge()

C3D_API void castor3d::Scene::merge ( Scene & scene)

Intègre à cette scène le contenu de celle donnée.

Paramètres
[in]sceneLa scène à intégrer

◆ needsGlobalIllumination() [1/2]

C3D_API bool castor3d::Scene::needsGlobalIllumination ( ) const

◆ needsGlobalIllumination() [2/2]

C3D_API bool castor3d::Scene::needsGlobalIllumination ( LightType ltType,
GlobalIlluminationType giType ) const

◆ needsSubsurfaceScattering()

bool castor3d::Scene::needsSubsurfaceScattering ( ) const
inlinenoexcept

◆ removeEnvironmentMap()

C3D_API void castor3d::Scene::removeEnvironmentMap ( SceneNode & node)

Crée une reflection map pour le noeud donné.

Paramètres
[in]nodeLe noeud de scène depuis lequel la reflection map est générée.

◆ setAmbientLight()

void castor3d::Scene::setAmbientLight ( castor::RgbColour const & value)
inlinenoexcept

◆ setBackground()

C3D_API void castor3d::Scene::setBackground ( SceneBackgroundUPtr value)

Définit le fond de la scène.

Paramètres
[in]valueLa nouvelle valeur.

◆ setBackgroundColour()

void castor3d::Scene::setBackgroundColour ( castor::RgbColour const & value)
inlinenoexcept

◆ setDefaultLightingModel()

C3D_API void castor3d::Scene::setDefaultLightingModel ( LightingModelID value)

◆ setDirectionalShadowCascades()

C3D_API void castor3d::Scene::setDirectionalShadowCascades ( uint32_t value)

name Mutateurs.

◆ setLpvIndirectAttenuation()

C3D_API void castor3d::Scene::setLpvIndirectAttenuation ( float value)

◆ update() [1/2]

C3D_API void castor3d::Scene::update ( CpuUpdater & updater)

Met à jour la scène avant le rendu.

◆ update() [2/2]

C3D_API void castor3d::Scene::update ( GpuUpdater & updater)

Met à jour les objets de scène dépendant du device.

◆ updateBoundingBox()

C3D_API void castor3d::Scene::updateBoundingBox ( )

Calcule l'AABB de la scène.

◆ upload()

C3D_API void castor3d::Scene::upload ( UploadData & uploader)

Upload les données des objets de la scène.

Documentation des données membres

◆ CameraRootNode

C3D_API castor::String castor3d::Scene::CameraRootNode
static

Le nom du noeud de scène racine des caméras.

◆ ObjectRootNode

C3D_API castor::String castor3d::Scene::ObjectRootNode
static

Le nom du noeud de scène racine des objets.

◆ onSetBackground

OnBackgroundChanged castor3d::Scene::onSetBackground
mutable

Le signal levé lorsque le fond a changé.

◆ onUpdate

OnSceneUpdate castor3d::Scene::onUpdate
mutable

Le signal levé lorsque la scène se met à jour.

◆ RootNode

C3D_API castor::String castor3d::Scene::RootNode
static

Le nom du noeud de scène racine.


La documentation de cette classe a été générée à partir du fichier suivant :