Castor3D  0.11.0
Multiplatform 3D engine
Classes | Fonctions membres publiques | Attributs publics statiques | Fonctions membres protégées | Attributs protégés | Liste de tous les membres
Référence de la classe castor3d::PassBuffer
Graphe d'héritage de castor3d::PassBuffer:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::PassBuffer:
Collaboration graph
[légende]

Classes

struct  ExtendedData
 Données étendues communes aux passes. Plus de détails...
 
struct  RgbaColour
 Couleur à 4 composantes. Plus de détails...
 
struct  RgbColour
 Couleur à 3 composantes. Plus de détails...
 

Fonctions membres publiques

C3D_API PassBuffer (Engine &engine, RenderDevice const &device, uint32_t count, uint32_t size)
 Constructeur. Plus de détails...
 
C3D_API uint32_t addPass (Pass &pass)
 Ajoute une passe au tampon. Plus de détails...
 
C3D_API void removePass (Pass &pass)
 Supprime une pass du tampon. Plus de détails...
 
C3D_API void update ()
 Met à jour le tampon de passes. Plus de détails...
 
C3D_API VkDescriptorSetLayoutBinding createLayoutBinding () const
 Crée une attache de layout de set de descripteurs. Plus de détails...
 
C3D_API ashes::WriteDescriptorSet getBinding () const
 Crée le descriptor write pour ce tampon. Plus de détails...
 
C3D_API void createBinding (ashes::DescriptorSet &descriptorSet, VkDescriptorSetLayoutBinding const &binding) const
 Crée une attache de set de descripteurs au point donné. Plus de détails...
 
virtual C3D_API void visit (PhongPass const &pass)
 Met les données de la passe dans le tampon. Plus de détails...
 
virtual C3D_API void visit (MetallicRoughnessPbrPass const &pass)
 Met les données de la passe dans le tampon. Plus de détails...
 
virtual C3D_API void visit (SpecularGlossinessPbrPass const &pass)
 Met les données de la passe dans le tampon. Plus de détails...
 
uint8_t * getPtr ()
 Le pointeur sur le tampon. Plus de détails...
 
VkDescriptorType getType () const
 Le type de descripteur du tampon. Plus de détails...
 

Attributs publics statiques

static constexpr uint32_t ExtendedDataSize = sizeof( RgbaColour ) * 11
 

Fonctions membres protégées

C3D_API void doVisitExtended (Pass const &pass, ExtendedData &data)
 
C3D_API void doVisit (SubsurfaceScattering const &subsurfaceScattering, uint32_t index, ExtendedData &data)
 

Attributs protégés

ShaderBuffer m_buffer
 
std::vector< Pass * > m_passes
 
std::vector< Pass const * > m_dirty
 
std::vector< OnPassChangedConnectionm_connections
 
uint32_t m_passCount
 
uint32_t m_passID { 1u }
 

Documentation des constructeurs et destructeur

◆ PassBuffer()

C3D_API castor3d::PassBuffer::PassBuffer ( Engine engine,
RenderDevice const &  device,
uint32_t  count,
uint32_t  size 
)

Constructeur.

Paramètres
[in]engineLe moteur.
[in]deviceLe device GPU.
[in]countLe nombre maximal de passes.
[in]sizeLa taille d'une passe.

Documentation des fonctions membres

◆ addPass()

C3D_API uint32_t castor3d::PassBuffer::addPass ( Pass pass)

Ajoute une passe au tampon.

Paramètres
[in]passLa passe.

◆ createBinding()

C3D_API void castor3d::PassBuffer::createBinding ( ashes::DescriptorSet &  descriptorSet,
VkDescriptorSetLayoutBinding const &  binding 
) const

Crée une attache de set de descripteurs au point donné.

Paramètres
[in]descriptorSetLe set de descripteurs recevant l'attache.
[in]bindingL'attache de layout de set de descripteurs.

◆ createLayoutBinding()

C3D_API VkDescriptorSetLayoutBinding castor3d::PassBuffer::createLayoutBinding ( ) const

Crée une attache de layout de set de descripteurs.

◆ doVisit()

C3D_API void castor3d::PassBuffer::doVisit ( SubsurfaceScattering const &  subsurfaceScattering,
uint32_t  index,
ExtendedData data 
)
protected

◆ doVisitExtended()

C3D_API void castor3d::PassBuffer::doVisitExtended ( Pass const &  pass,
ExtendedData data 
)
protected

◆ getBinding()

C3D_API ashes::WriteDescriptorSet castor3d::PassBuffer::getBinding ( ) const

Crée le descriptor write pour ce tampon.

◆ getPtr()

uint8_t* castor3d::PassBuffer::getPtr ( )
inline

Le pointeur sur le tampon.

Références castor3d::ShaderBuffer::getPtr(), et m_buffer.

Voici le graphe d'appel pour cette fonction :

◆ getType()

VkDescriptorType castor3d::PassBuffer::getType ( ) const
inline

Le type de descripteur du tampon.

Références castor3d::ShaderBuffer::getType(), et m_buffer.

Voici le graphe d'appel pour cette fonction :

◆ removePass()

C3D_API void castor3d::PassBuffer::removePass ( Pass pass)

Supprime une pass du tampon.

Paramètres
[in]passLa passe.

◆ update()

C3D_API void castor3d::PassBuffer::update ( )

Met à jour le tampon de passes.

◆ visit() [1/3]

virtual C3D_API void castor3d::PassBuffer::visit ( PhongPass const &  pass)
virtual

Met les données de la passe dans le tampon.

Paramètres
[in]passLa passe.

Réimplémentée dans castor3d::PhongPassBuffer, castor3d::SpecularGlossinessPassBuffer, et castor3d::MetallicRoughnessPassBuffer.

◆ visit() [2/3]

virtual C3D_API void castor3d::PassBuffer::visit ( MetallicRoughnessPbrPass const &  pass)
virtual

Met les données de la passe dans le tampon.

Paramètres
[in]passLa passe.

Réimplémentée dans castor3d::MetallicRoughnessPassBuffer.

◆ visit() [3/3]

virtual C3D_API void castor3d::PassBuffer::visit ( SpecularGlossinessPbrPass const &  pass)
virtual

Met les données de la passe dans le tampon.

Paramètres
[in]passLa passe.

Réimplémentée dans castor3d::SpecularGlossinessPassBuffer.

Documentation des données membres

◆ ExtendedDataSize

constexpr uint32_t castor3d::PassBuffer::ExtendedDataSize = sizeof( RgbaColour ) * 11
static

◆ m_buffer

ShaderBuffer castor3d::PassBuffer::m_buffer
protected

Le tampon shader.

Référencé par getPtr(), et getType().

◆ m_connections

std::vector< OnPassChangedConnection > castor3d::PassBuffer::m_connections
protected

Les connexions aux signaux de changement des passes actuelles.

◆ m_dirty

std::vector< Pass const * > castor3d::PassBuffer::m_dirty
protected

Les passes actuelles.

◆ m_passCount

uint32_t castor3d::PassBuffer::m_passCount
protected

Le nombre maximal de passes.

◆ m_passes

std::vector< Pass * > castor3d::PassBuffer::m_passes
protected

Les passes actuelles.

◆ m_passID

uint32_t castor3d::PassBuffer::m_passID { 1u }
protected

L'ID de la passe suivante.


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