Castor3D
0.11.0
Multiplatform 3D engine
|
Cache de Light. Plus de détails...
Types publics | |
using | MyObjectCache = ObjectCacheBase< Light, castor::String > |
using | MyObjectCacheTraits = typename MyObjectCacheType::MyObjectCacheTraits |
using | Element = typename MyObjectCacheType::Element |
using | Key = typename MyObjectCacheType::Key |
using | Collection = typename MyObjectCacheType::Collection |
using | LockType = typename MyObjectCacheType::LockType |
using | ElementPtr = typename MyObjectCacheType::ElementPtr |
using | Producer = typename MyObjectCacheType::Producer |
using | Initialiser = typename MyObjectCacheType::Initialiser |
using | Cleaner = typename MyObjectCacheType::Cleaner |
using | Merger = typename MyObjectCacheType::Merger |
using | Attacher = typename MyObjectCacheType::Attacher |
using | Detacher = typename MyObjectCacheType::Detacher |
Types publics hérités de castor3d::ObjectCacheBase< Light, castor::String > | |
using | OnChangedFunction = std::function< void() > |
using | OnChanged = castor::Signal< OnChangedFunction > |
Fonctions membres publiques | |
C3D_API | ObjectCache (Engine &engine, Scene &scene, SceneNodeSPtr rootNode, SceneNodeSPtr rootCameraNode, SceneNodeSPtr rootObjectNode, Producer &&produce, Initialiser &&initialise=Initialiser{}, Cleaner &&clean=Cleaner{}, Merger &&merge=Merger{}, Attacher &&attach=Attacher{}, Detacher &&detach=Detacher{}) |
Constructeur. Plus de détails... | |
C3D_API | ~ObjectCache () |
Destructeur. Plus de détails... | |
C3D_API void | initialise () |
Initialise la texture de lumières. Plus de détails... | |
C3D_API void | cleanup () |
Met tous les éléments à nettoyer. Plus de détails... | |
C3D_API ElementPtr | add (Key const &name, ElementPtr element) |
Ajoute un objet. Plus de détails... | |
C3D_API ElementPtr | add (Key const &name, SceneNode &parent, LightType type) |
Crée un objet. Plus de détails... | |
C3D_API void | remove (Key const &name) |
Retire un objet à partir d'un nom. Plus de détails... | |
C3D_API void | update (CpuUpdater &updater) |
Met à jour la passe de rendu, au niveau CPU. Plus de détails... | |
C3D_API void | update (GpuUpdater &updater) |
Met à jour la passe de rendu, au niveau GPU. Plus de détails... | |
C3D_API ashes::Buffer< castor::Point4f > const & | getBuffer () const |
C3D_API ashes::BufferView const & | getView () const |
uint32_t | getLightsCount (LightType type) const |
Récupère le nombre de lumières du type donné. Plus de détails... | |
LightsArray | getLights (LightType type) const |
Récupère les lumières du type donné. Plus de détails... | |
Fonctions membres publiques hérités de castor3d::ObjectCacheBase< Light, castor::String > | |
ObjectCacheBase (Engine &engine, Scene &scene, SceneNodeSPtr rootNode, SceneNodeSPtr rootCameraNode, SceneNodeSPtr rootObjectNode, Producer &&produce, Initialiser &&initialise=Initialiser{}, Cleaner &&clean=Cleaner{}, Merger &&merge=Merger{}, Attacher &&attach=Attacher{}, Detacher &&detach=Detacher{}) | |
Constructeur. Plus de détails... | |
~ObjectCacheBase () | |
Destructeur. Plus de détails... | |
void | cleanup () |
Met tous les éléments à nettoyer. Plus de détails... | |
void | clear () |
Vide la collection. Plus de détails... | |
bool | isEmpty () const |
ElementPtr | add (Key const &name, ElementPtr element) |
Ajoute un objet. Plus de détails... | |
ElementPtr | add (Key const &name, SceneNode &parent, Parameters &&... parameters) |
Crée un objet. Plus de détails... | |
void | remove (Key const &name) |
Retire un objet à partir d'un nom. Plus de détails... | |
void | mergeInto (MyObjectCacheType &destination) |
void | forEach (FuncType func) const |
Applique une fonction à tous les éléments de ce cache. Plus de détails... | |
void | forEach (FuncType func) |
Applique une fonction à tous les éléments de ce cache. Plus de détails... | |
uint32_t | getObjectCount () const |
Scene * | getScene () const |
Engine * | getEngine () const |
castor::String const & | getObjectTypeName () const |
bool | has (Key const &name) const |
ElementPtr | find (Key const &name) const |
Cherche un élément par son nom. Plus de détails... | |
void | lock () const |
Locke le mutex de la collection. Plus de détails... | |
void | unlock () const |
Délocke le mutex de la collection. Plus de détails... | |
auto | begin () |
Renvoie un itérateur sur le premier élément de la collection. Plus de détails... | |
auto | begin () const |
Renvoie un itérateur constant sur le premier élément de la collection. Plus de détails... | |
auto | end () |
Renvoie un itérateur sur l'après dernier élément de la collection. Plus de détails... | |
auto | end () const |
Renvoie un itérateur constant sur l'après dernier élément de la collection. Plus de détails... | |
using castor3d::ObjectCache< Light, castor::String >::Attacher = typename MyObjectCacheType::Attacher |
using castor3d::ObjectCache< Light, castor::String >::Cleaner = typename MyObjectCacheType::Cleaner |
using castor3d::ObjectCache< Light, castor::String >::Collection = typename MyObjectCacheType::Collection |
using castor3d::ObjectCache< Light, castor::String >::Detacher = typename MyObjectCacheType::Detacher |
using castor3d::ObjectCache< Light, castor::String >::Element = typename MyObjectCacheType::Element |
using castor3d::ObjectCache< Light, castor::String >::ElementPtr = typename MyObjectCacheType::ElementPtr |
using castor3d::ObjectCache< Light, castor::String >::Initialiser = typename MyObjectCacheType::Initialiser |
using castor3d::ObjectCache< Light, castor::String >::Key = typename MyObjectCacheType::Key |
using castor3d::ObjectCache< Light, castor::String >::LockType = typename MyObjectCacheType::LockType |
using castor3d::ObjectCache< Light, castor::String >::Merger = typename MyObjectCacheType::Merger |
using castor3d::ObjectCache< Light, castor::String >::MyObjectCache = ObjectCacheBase< Light, castor::String > |
using castor3d::ObjectCache< Light, castor::String >::MyObjectCacheTraits = typename MyObjectCacheType::MyObjectCacheTraits |
using castor3d::ObjectCache< Light, castor::String >::Producer = typename MyObjectCacheType::Producer |
C3D_API castor3d::ObjectCache< Light, castor::String >::ObjectCache | ( | Engine & | engine, |
Scene & | scene, | ||
SceneNodeSPtr | rootNode, | ||
SceneNodeSPtr | rootCameraNode, | ||
SceneNodeSPtr | rootObjectNode, | ||
Producer && | produce, | ||
Initialiser && | initialise = Initialiser{} , |
||
Cleaner && | clean = Cleaner{} , |
||
Merger && | merge = Merger{} , |
||
Attacher && | attach = Attacher{} , |
||
Detacher && | detach = Detacher{} |
||
) |
Constructeur.
[in] | engine | Le moteur. |
[in] | scene | La scène. |
[in] | rootNode | Le noeud racine. |
[in] | rootCameraNode | Le noeud racine des caméras. |
[in] | rootObjectNode | Le noeud racine des objets. |
[in] | produce | Le créateur d'objet. |
[in] | initialise | L'initialiseur d'objet. |
[in] | clean | Le nettoyeur d'objet. |
[in] | merge | Le fusionneur de collection d'objets. |
[in] | attach | L'attacheur d'objet (à un noeud de scène). |
[in] | detach | Le détacheur d'objet (d'un noeud de scène). |
C3D_API castor3d::ObjectCache< Light, castor::String >::~ObjectCache | ( | ) |
Destructeur.
C3D_API ElementPtr castor3d::ObjectCache< Light, castor::String >::add | ( | Key const & | name, |
ElementPtr | element | ||
) |
Ajoute un objet.
[in] | name | Le nom d'objet. |
[in] | element | L'objet. |
C3D_API ElementPtr castor3d::ObjectCache< Light, castor::String >::add | ( | Key const & | name, |
SceneNode & | parent, | ||
LightType | type | ||
) |
Crée un objet.
[in] | name | Le nom d'objet. |
[in] | parent | Le noeud de scène parent. |
[in] | type | Le type de source lumineuse. |
C3D_API void castor3d::ObjectCache< Light, castor::String >::cleanup | ( | ) |
Met tous les éléments à nettoyer.
|
inline |
|
inline |
Récupère les lumières du type donné.
[in] | type | Le type de lumière. |
|
inline |
Récupère le nombre de lumières du type donné.
[in] | type | Le type de lumière. |
|
inline |
C3D_API void castor3d::ObjectCache< Light, castor::String >::initialise | ( | ) |
Initialise la texture de lumières.
C3D_API void castor3d::ObjectCache< Light, castor::String >::remove | ( | Key const & | name | ) |
Retire un objet à partir d'un nom.
[in] | name | Le nom d'objet. |
C3D_API void castor3d::ObjectCache< Light, castor::String >::update | ( | CpuUpdater & | updater | ) |
Met à jour la passe de rendu, au niveau CPU.
[in,out] | updater | Les données d'update. |
C3D_API void castor3d::ObjectCache< Light, castor::String >::update | ( | GpuUpdater & | updater | ) |
Met à jour la passe de rendu, au niveau GPU.
[in,out] | updater | Les données d'update. |