Castor3D 0.15.0
Multiplatform 3D engine
|
#include <PassBuffer.hpp>
Classes | |
struct | PassDataPtr |
struct | PassTypeData |
Fonctions membres publiques | |
C3D_API | PassBuffer (Engine &engine, RenderDevice const &device, uint32_t count) |
Constructeur. | |
C3D_API uint32_t | addPass (Pass &pass) |
Ajoute une passe au tampon. | |
C3D_API void | removePass (Pass &pass) |
Supprime une pass du tampon. | |
C3D_API void | update (SpecificsBuffers const &specifics, ashes::CommandBuffer const &commandBuffer) |
Met à jour le tampon de passes. | |
C3D_API void | cleanup () |
Vide le conteneur de passes à mettre à jour. | |
C3D_API VkDescriptorSetLayoutBinding | createLayoutBinding (uint32_t binding, VkShaderStageFlags stages=(VK_SHADER_STAGE_FRAGMENT_BIT|VK_SHADER_STAGE_GEOMETRY_BIT|VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT|VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT|VK_SHADER_STAGE_VERTEX_BIT)) 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 void | createBinding (ashes::DescriptorSet &descriptorSet, VkDescriptorSetLayoutBinding const &binding) const |
Crée une attache de set de descripteurs au point donné. | |
C3D_API PassDataPtr | getData (uint32_t passID) |
Le pointeur sur les données pour l'ID de passe donné. | |
C3D_API uint32_t | getMaxPassTypeCount () const |
Le nombre maximum de types de passes (pour l'utilisation de vibility buffer). | |
C3D_API uint32_t | getPassTypeIndex (PassComponentCombineID passType, TextureCombineID textureCombine) const |
L'indice de type de passe (pour l'utilisation de vibility buffer). | |
C3D_API std::tuple< PassComponentCombineID, TextureCombineID > | getPassTypeDetails (uint32_t passTypeIndex) const |
Les détails du type de passe pour l'index donné (pour l'utilisation de vibility buffer). | |
uint8_t * | getPtr () |
Le pointeur sur le tampon. | |
uint32_t | getCurrentPassTypeCount () const |
C3D_API castor3d::PassBuffer::PassBuffer | ( | Engine & | engine, |
RenderDevice const & | device, | ||
uint32_t | count | ||
) |
Constructeur.
[in] | engine | Le moteur. |
[in] | device | Le device GPU. |
[in] | count | Le nombre maximal de passes. |
Ajoute une passe au tampon.
[in] | pass | La passe. |
C3D_API void castor3d::PassBuffer::cleanup | ( | ) |
Vide le conteneur de passes à mettre à jour.
C3D_API void castor3d::PassBuffer::createBinding | ( | ashes::DescriptorSet & | descriptorSet, |
VkDescriptorSetLayoutBinding const & | binding | ||
) | const |
Crée une attache de set de descripteurs au point donné.
[in] | descriptorSet | Le set de descripteurs recevant l'attache. |
[in] | binding | L'attache de layout de set de descripteurs. |
C3D_API VkDescriptorSetLayoutBinding castor3d::PassBuffer::createLayoutBinding | ( | uint32_t | binding, |
VkShaderStageFlags | stages = (VK_SHADER_STAGE_FRAGMENT_BIT|VK_SHADER_STAGE_GEOMETRY_BIT|VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT|VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT|VK_SHADER_STAGE_VERTEX_BIT) |
||
) | const |
Crée une attache de layout de set de descripteurs.
C3D_API void castor3d::PassBuffer::createPassBinding | ( | crg::FramePass & | pass, |
uint32_t | binding | ||
) | const |
Crée une attache de frame pass.
C3D_API ashes::WriteDescriptorSet castor3d::PassBuffer::getBinding | ( | uint32_t | binding | ) | const |
Crée le descriptor write pour ce tampon.
|
inline |
C3D_API PassDataPtr castor3d::PassBuffer::getData | ( | uint32_t | passID | ) |
Le pointeur sur les données pour l'ID de passe donné.
C3D_API uint32_t castor3d::PassBuffer::getMaxPassTypeCount | ( | ) | const |
Le nombre maximum de types de passes (pour l'utilisation de vibility buffer).
C3D_API std::tuple< PassComponentCombineID, TextureCombineID > castor3d::PassBuffer::getPassTypeDetails | ( | uint32_t | passTypeIndex | ) | const |
Les détails du type de passe pour l'index donné (pour l'utilisation de vibility buffer).
C3D_API uint32_t castor3d::PassBuffer::getPassTypeIndex | ( | PassComponentCombineID | passType, |
TextureCombineID | textureCombine | ||
) | const |
L'indice de type de passe (pour l'utilisation de vibility buffer).
|
inline |
Le pointeur sur le tampon.
Références castor3d::ShaderBuffer::getPtr().
Supprime une pass du tampon.
[in] | pass | La passe. |
C3D_API void castor3d::PassBuffer::update | ( | SpecificsBuffers const & | specifics, |
ashes::CommandBuffer const & | commandBuffer | ||
) |
Met à jour le tampon de passes.
[in] | specifics | Le buffers spécifiques aux composants de passe. |
[in] | commandBuffer | Reçoit les commandes de mise à jour. |