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

#include <RenderPipeline.hpp>

Graphe d'héritage de castor3d::RenderPipeline:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::RenderPipeline:
Collaboration graph
[légende]

Types publics

enum  Descriptor {
  eTextures = 0 , eBuffers = 1 , eMeshBuffers = 2 , eVertexBuffers = 3 ,
  Descriptor_COUNT , Descriptor_MIN = eTextures
}
 

Fonctions membres publiques

C3D_API RenderPipeline (RenderNodesPass &owner, RenderSystem &renderSystem, ashes::PipelineDepthStencilStateCreateInfo dsState, ashes::PipelineRasterizationStateCreateInfo rsState, ashes::PipelineColorBlendStateCreateInfo blState, ashes::PipelineMultisampleStateCreateInfo msState, ShaderProgramRPtr program, PipelineFlags const &flags)
 Constructeur.
 
C3D_API void initialise (RenderDevice const &device, VkRenderPass renderPass)
 Initialise le pipeline.
 
C3D_API void cleanup ()
 Nettoie le pipeline.
 
C3D_API void setVertexLayouts (ashes::PipelineVertexInputStateCreateInfoCRefArray const &layouts)
 
void setAdditionalDescriptorSetLayout (ashes::DescriptorSetLayout const &layout) noexcept
 
void setAdditionalDescriptorSet (ashes::DescriptorSet const &descriptorSet) noexcept
 
void setMeshletDescriptorSetLayout (ashes::DescriptorSetLayout const &layout) noexcept
 
void setVertexLayouts (castor::Vector< ashes::PipelineVertexInputStateCreateInfo > layouts) noexcept
 
void setPushConstantRanges (ashes::VkPushConstantRangeArray const &pushConstantRanges) noexcept
 
void setViewport (VkViewport const &viewport)
 
void setScissor (VkRect2D const &scissor)
 
ashes::DescriptorSet const & getAdditionalDescriptorSet () const noexcept
 
PipelineFlags const & getFlags () const noexcept
 
PipelineBaseHash const & getFlagsHash () const noexcept
 
bool hasPipeline () const noexcept
 
ashes::GraphicsPipeline const & getPipeline () const noexcept
 
ashes::PipelineLayout const & getPipelineLayout () const noexcept
 
ashes::DescriptorSetLayout const & getAdditionalDescriptorSetLayout () const noexcept
 
bool hasAdditionalDescriptorSetLayout () const noexcept
 
ashes::DescriptorSetLayout const & getMeshletDescriptorSetLayout () const noexcept
 
bool hasMeshletDescriptorSetLayout () const noexcept
 
RenderSystemgetRenderSystem () const noexcept
 
- Fonctions membres publiques hérités de castor::OwnedBy< RenderNodesPass >
RenderNodesPass * getOwner () const
 L'objet propriétaire.
 

Membres hérités additionnels

- Fonctions membres protégées hérités de castor::OwnedBy< RenderNodesPass >
 OwnedBy (RenderNodesPass &owner)
 Constructeur.
 

Documentation des énumérations membres

◆ Descriptor

Valeurs énumérées
eTextures 
eBuffers 
eMeshBuffers 
eVertexBuffers 
Descriptor_COUNT 
Descriptor_MIN 

Documentation des constructeurs et destructeur

◆ RenderPipeline()

C3D_API castor3d::RenderPipeline::RenderPipeline ( RenderNodesPass & owner,
RenderSystem & renderSystem,
ashes::PipelineDepthStencilStateCreateInfo dsState,
ashes::PipelineRasterizationStateCreateInfo rsState,
ashes::PipelineColorBlendStateCreateInfo blState,
ashes::PipelineMultisampleStateCreateInfo msState,
ShaderProgramRPtr program,
PipelineFlags const & flags )
explicit

Constructeur.

Paramètres
[in]ownerLa passe de rendu parente.
[in]renderSystemLe RenderSystem.
[in]dsStateL'état de stencil et profondeur.
[in]rsStateL'état de rastériseur.
[in]blStateL'état de mélange.
[in]msStateL'état de multi-échantillonnage.
[in]programLe programme shader.
[in]flagsLes indicateurs de création.

Documentation des fonctions membres

◆ cleanup()

C3D_API void castor3d::RenderPipeline::cleanup ( )

Nettoie le pipeline.

◆ getAdditionalDescriptorSet()

ashes::DescriptorSet const & castor3d::RenderPipeline::getAdditionalDescriptorSet ( ) const
inlinenoexcept

name Accesseurs.

Références CU_Require.

◆ getAdditionalDescriptorSetLayout()

ashes::DescriptorSetLayout const & castor3d::RenderPipeline::getAdditionalDescriptorSetLayout ( ) const
inlinenoexcept

Références CU_Require.

◆ getFlags()

PipelineFlags const & castor3d::RenderPipeline::getFlags ( ) const
inlinenoexcept

◆ getFlagsHash()

PipelineBaseHash const & castor3d::RenderPipeline::getFlagsHash ( ) const
inlinenoexcept

◆ getMeshletDescriptorSetLayout()

ashes::DescriptorSetLayout const & castor3d::RenderPipeline::getMeshletDescriptorSetLayout ( ) const
inlinenoexcept

Références CU_Require.

◆ getPipeline()

ashes::GraphicsPipeline const & castor3d::RenderPipeline::getPipeline ( ) const
inlinenoexcept

Références hasPipeline().

Voici le graphe d'appel pour cette fonction :

◆ getPipelineLayout()

ashes::PipelineLayout const & castor3d::RenderPipeline::getPipelineLayout ( ) const
inlinenoexcept

Références CU_Require.

◆ getRenderSystem()

RenderSystem & castor3d::RenderPipeline::getRenderSystem ( ) const
inlinenoexcept

◆ hasAdditionalDescriptorSetLayout()

bool castor3d::RenderPipeline::hasAdditionalDescriptorSetLayout ( ) const
inlinenoexcept

◆ hasMeshletDescriptorSetLayout()

bool castor3d::RenderPipeline::hasMeshletDescriptorSetLayout ( ) const
inlinenoexcept

◆ hasPipeline()

bool castor3d::RenderPipeline::hasPipeline ( ) const
inlinenoexcept

Référencé par getPipeline().

Voici le graphe des appelants de cette fonction :

◆ initialise()

C3D_API void castor3d::RenderPipeline::initialise ( RenderDevice const & device,
VkRenderPass renderPass )

Initialise le pipeline.

Paramètres
[in]deviceLe device GPU.
[in]renderPassLa passe de rendu à laquelle ce pipeline est lié.

◆ setAdditionalDescriptorSet()

void castor3d::RenderPipeline::setAdditionalDescriptorSet ( ashes::DescriptorSet const & descriptorSet)
inlinenoexcept

◆ setAdditionalDescriptorSetLayout()

void castor3d::RenderPipeline::setAdditionalDescriptorSetLayout ( ashes::DescriptorSetLayout const & layout)
inlinenoexcept

Références CU_Require.

◆ setMeshletDescriptorSetLayout()

void castor3d::RenderPipeline::setMeshletDescriptorSetLayout ( ashes::DescriptorSetLayout const & layout)
inlinenoexcept

Références CU_Require.

◆ setPushConstantRanges()

void castor3d::RenderPipeline::setPushConstantRanges ( ashes::VkPushConstantRangeArray const & pushConstantRanges)
inlinenoexcept

Références CU_Require.

◆ setScissor()

void castor3d::RenderPipeline::setScissor ( VkRect2D const & scissor)
inline

Références CU_Require.

◆ setVertexLayouts() [1/2]

C3D_API void castor3d::RenderPipeline::setVertexLayouts ( ashes::PipelineVertexInputStateCreateInfoCRefArray const & layouts)

name Mutateurs.

Remarques
Ils doivent être appelés avant l'appel à initialise().

◆ setVertexLayouts() [2/2]

void castor3d::RenderPipeline::setVertexLayouts ( castor::Vector< ashes::PipelineVertexInputStateCreateInfo > layouts)
inlinenoexcept

Références CU_Require.

◆ setViewport()

void castor3d::RenderPipeline::setViewport ( VkViewport const & viewport)
inline

Références CU_Require.


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