Castor3D 0.12.0
Multiplatform 3D engine
|
Cache de Light. Plus de détails...
#include <LightCache.hpp>
Types publics | |
using | ElementT = Light |
using | ElementKeyT = castor::String |
using | ElementCacheTraitsT = LightCacheTraits |
using | ElementObjectCacheT = ObjectCacheBaseT< ElementT, ElementKeyT, ElementCacheTraitsT > |
using | ElementPtrT = typename ElementObjectCacheT::ElementPtrT |
using | ElementContT = typename ElementObjectCacheT::ElementContT |
using | ElementInitialiserT = typename ElementObjectCacheT::ElementInitialiserT |
using | ElementCleanerT = typename ElementObjectCacheT::ElementCleanerT |
using | ElementMergerT = typename ElementObjectCacheT::ElementMergerT |
using | ElementAttacherT = typename ElementObjectCacheT::ElementAttacherT |
using | ElementDetacherT = typename ElementObjectCacheT::ElementDetacherT |
Types publics hérités de castor3d::ObjectCacheBaseT< Light, castor::String, LightCacheTraits > | |
using | OnChangedFunction = std::function< void() > |
using | OnChanged = castor::SignalT< OnChangedFunction > |
Fonctions membres publiques | |
C3D_API | ObjectCacheT (Scene &scene, SceneNodeSPtr rootNode, SceneNodeSPtr rootCameraNode, SceneNodeSPtr rootObjectNode) |
Constructeur. Plus de détails... | |
C3D_API | ~ObjectCacheT ()=default |
Destructeur. Plus de détails... | |
C3D_API void | initialise (castor3d::RenderDevice const &device) |
Initialise le buffer GPU. Plus de détails... | |
C3D_API void | cleanup () |
Met tous les éléments à nettoyer. 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 void | upload (ashes::CommandBuffer const &cb) const |
Met à jour tous les tampons GPU en VRAM. Plus de détails... | |
C3D_API LightsArray | getLights (LightType type) const |
Récupère les lumières du type donné. Plus de détails... | |
C3D_API void | createPassBinding (crg::FramePass &pass, uint32_t binding) const |
Crée une attache de frame pass. Plus de détails... | |
C3D_API VkDescriptorSetLayoutBinding | createLayoutBinding (uint32_t index=0u) const |
Crée une attache de layout de set de descripteurs au point donné. Plus de détails... | |
C3D_API ashes::WriteDescriptorSet | getBinding (uint32_t binding) const |
Crée le descriptor write pour le buffer de sources lumineuses. Plus de détails... | |
C3D_API ashes::WriteDescriptorSet | getBinding (uint32_t binding, VkDeviceSize offset, VkDeviceSize size) const |
Crée le descriptor write pour le buffer de sources lumineuses. Plus de détails... | |
uint32_t | getLightsCount (LightType type) const |
Récupère le nombre de lumières du type donné. Plus de détails... | |
Fonctions membres publiques hérités de castor3d::ObjectCacheBaseT< Light, castor::String, LightCacheTraits > | |
void | mergeInto (ElementObjectCacheT &destination) |
Met les éléments de ce cache dans ceux de celui donné. Plus de détails... | |
Engine * | getEngine () const |
castor::String const & | getObjectTypeName () const |
Cache de Light.
using castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::ElementAttacherT = typename ElementObjectCacheT::ElementAttacherT |
using castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::ElementCacheTraitsT = LightCacheTraits |
using castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::ElementCleanerT = typename ElementObjectCacheT::ElementCleanerT |
using castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::ElementContT = typename ElementObjectCacheT::ElementContT |
using castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::ElementDetacherT = typename ElementObjectCacheT::ElementDetacherT |
using castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::ElementInitialiserT = typename ElementObjectCacheT::ElementInitialiserT |
using castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::ElementKeyT = castor::String |
using castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::ElementMergerT = typename ElementObjectCacheT::ElementMergerT |
using castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::ElementObjectCacheT = ObjectCacheBaseT< ElementT, ElementKeyT, ElementCacheTraitsT > |
using castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::ElementPtrT = typename ElementObjectCacheT::ElementPtrT |
using castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::ElementT = Light |
C3D_API castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::ObjectCacheT | ( | Scene & | scene, |
SceneNodeSPtr | rootNode, | ||
SceneNodeSPtr | rootCameraNode, | ||
SceneNodeSPtr | rootObjectNode | ||
) |
Constructeur.
[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. |
|
default |
Destructeur.
C3D_API void castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::cleanup | ( | ) |
Met tous les éléments à nettoyer.
C3D_API VkDescriptorSetLayoutBinding castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::createLayoutBinding | ( | uint32_t | index = 0u | ) | const |
Crée une attache de layout de set de descripteurs au point donné.
[in] | index | L'indice du point d'attache. |
C3D_API void castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::createPassBinding | ( | crg::FramePass & | pass, |
uint32_t | binding | ||
) | const |
Crée une attache de frame pass.
C3D_API ashes::WriteDescriptorSet castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::getBinding | ( | uint32_t | binding | ) | const |
Crée le descriptor write pour le buffer de sources lumineuses.
C3D_API ashes::WriteDescriptorSet castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::getBinding | ( | uint32_t | binding, |
VkDeviceSize | offset, | ||
VkDeviceSize | size | ||
) | const |
Crée le descriptor write pour le buffer de sources lumineuses.
C3D_API LightsArray castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::getLights | ( | LightType | type | ) | const |
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. |
C3D_API void castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::initialise | ( | castor3d::RenderDevice const & | device | ) |
Initialise le buffer GPU.
[in] | device | Le device GPU. |
C3D_API void castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::update | ( | CpuUpdater & | updater | ) |
Met à jour la passe de rendu, au niveau CPU.
[in,out] | updater | Les données d'update. |
C3D_API void castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::update | ( | GpuUpdater & | updater | ) |
Met à jour la passe de rendu, au niveau GPU.
[in,out] | updater | Les données d'update. |
C3D_API void castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::upload | ( | ashes::CommandBuffer const & | cb | ) | const |
Met à jour tous les tampons GPU en VRAM.
[in] | cb | Le command buffer sur lequel les commandes de transfert sont enregistrées. |