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

#include <LightBuffer.hpp>

Types publics

using LightsData = castor::ArrayView< castor::Point4f >
 

Fonctions membres publiques

C3D_API LightBuffer (Engine &engine, RenderDevice const &device, uint32_t count)
 Constructeur.
 
C3D_API void addLight (Light &light)
 Ajoute une source lumineuse au tampon.
 
C3D_API void removeLight (Light &light)
 Supprime une source lumineuse du tampon.
 
C3D_API void update (CpuUpdater &updater)
 Met à jour le tampon au niveau CPU.
 
C3D_API void upload (UploadData &uploader)
 Uploade le tampon en VRAM.
 
C3D_API VkDescriptorSetLayoutBinding createLayoutBinding (VkShaderStageFlags stages, uint32_t binding) const
 Crée une attache de layout de set de descripteurs.
 
C3D_API void createPassBinding (crg::FramePass &pass, uint32_t binding) const
 Crée une attache de frame pass.
 
C3D_API ashes::WriteDescriptorSet getBinding (uint32_t binding) const
 Crée le descriptor write pour ce tampon.
 
C3D_API ashes::WriteDescriptorSet getSingleBinding (uint32_t binding, VkDeviceSize offset, VkDeviceSize size) const
 Crée le descriptor write pour ce tampon.
 
C3D_API void createBinding (ashes::DescriptorSet &descriptorSet, VkDescriptorSetLayoutBinding const &binding) const
 Crée une attache de set de descripteurs au point donné.
 
C3D_API uint32_t getLightsBufferCount (LightType type) const noexcept
 Crée le descriptor write pour le buffer de sources lumineuses.
 
uint8_t * getPtr ()
 
LightsArray getLights (LightType type) const
 

Documentation des définitions de type membres

◆ LightsData

Documentation des constructeurs et destructeur

◆ LightBuffer()

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

Constructeur.

Paramètres
[in]engineLe moteur.
[in]deviceLe device GPU.
[in]countLe nombre maximal de passes.

Documentation des fonctions membres

◆ addLight()

C3D_API void castor3d::LightBuffer::addLight ( Light & light)

Ajoute une source lumineuse au tampon.

Paramètres
[in]lightLa source lumineuse.

◆ createBinding()

C3D_API void castor3d::LightBuffer::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::LightBuffer::createLayoutBinding ( VkShaderStageFlags stages,
uint32_t binding ) const

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

◆ createPassBinding()

C3D_API void castor3d::LightBuffer::createPassBinding ( crg::FramePass & pass,
uint32_t binding ) const

Crée une attache de frame pass.

◆ getBinding()

C3D_API ashes::WriteDescriptorSet castor3d::LightBuffer::getBinding ( uint32_t binding) const

Crée le descriptor write pour ce tampon.

◆ getLights()

LightsArray castor3d::LightBuffer::getLights ( LightType type) const
inline

◆ getLightsBufferCount()

C3D_API uint32_t castor3d::LightBuffer::getLightsBufferCount ( LightType type) const
noexcept

Crée le descriptor write pour le buffer de sources lumineuses.

Paramètres
[in]typeLe type de lumière.
Renvoie
Le nombre de sources lumineuses du type donné, dans le buffer.

◆ getPtr()

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

Références castor3d::ShaderBuffer::getPtr().

Voici le graphe d'appel pour cette fonction :

◆ getSingleBinding()

C3D_API ashes::WriteDescriptorSet castor3d::LightBuffer::getSingleBinding ( uint32_t binding,
VkDeviceSize offset,
VkDeviceSize size ) const

Crée le descriptor write pour ce tampon.

◆ removeLight()

C3D_API void castor3d::LightBuffer::removeLight ( Light & light)

Supprime une source lumineuse du tampon.

Paramètres
[in]lightLa source lumineuse.

◆ update()

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

Met à jour le tampon au niveau CPU.

Paramètres
[in,out]updaterLes données de mise à jour.

◆ upload()

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

Uploade le tampon en VRAM.

Paramètres
[in,out]uploaderReçoit les requêtes d'upload.

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