|
C3D_API | OpaquePass (MatrixUbo &matrixUbo, SceneCuller &culler, SsaoConfig const &config) |
| Constructeur. Plus de détails...
|
|
C3D_API | ~OpaquePass () |
| Destructeur. Plus de détails...
|
|
C3D_API void | initialiseRenderPass (RenderDevice const &device, OpaquePassResult const &gpResult) |
| Initialise la passe de rendu. Plus de détails...
|
|
C3D_API void | accept (RenderTechniqueVisitor &visitor) override |
| Fonction d'acceptation de visiteur. Plus de détails...
|
|
C3D_API ashes::Semaphore const & | render (RenderDevice const &device, ashes::Semaphore const &toWait) |
| Dessine les noeuds transparents. Plus de détails...
|
|
C3D_API TextureFlags | getTexturesMask () const override |
|
C3D_API bool | initialise (RenderDevice const &device, castor::Size const &size, LightVolumePassResult const *lpvResult=nullptr, TextureUnit const *vctFirstBounce=nullptr, TextureUnit const *vctSecondaryBounce=nullptr) |
| Initialise la passe. Plus de détails...
|
|
C3D_API bool | initialise (RenderDevice const &device, castor::Size const &size, RenderPassTimer &timer, uint32_t index, LightVolumePassResult const *lpvResult=nullptr, TextureUnit const *vctFirstBounce=nullptr, TextureUnit const *vctSecondaryBounce=nullptr) |
| Initialise la passe. 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 | update (CpuUpdater &updater) |
| Met à jour la passe de rendu, au niveau CPU. Plus de détails...
|
|
ashes::Semaphore const & | getSemaphore () const |
|
virtual C3D_API | ~SceneRenderPass ()=default |
| Destructeur. Plus de détails...
|
|
C3D_API bool | initialise (RenderDevice const &device, castor::Size const &size) |
| Initialise la passe. Plus de détails...
|
|
C3D_API bool | initialise (RenderDevice const &device, castor::Size const &size, RenderPassTimer &timer, uint32_t index) |
| Initialise la passe. Plus de détails...
|
|
C3D_API void | cleanup (RenderDevice const &device) |
| Nettoie la passe. 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 ShaderPtr | getVertexShaderSource (PipelineFlags const &flags) const |
| Récupère le source du vertex shader qui correspond aux indicateurs donnés. Plus de détails...
|
|
C3D_API ShaderPtr | getPixelShaderSource (PipelineFlags const &flags) const |
| Récupère le source du pixel shader qui correspond aux indicateurs donnés. Plus de détails...
|
|
C3D_API ShaderPtr | getGeometryShaderSource (PipelineFlags const &flags) const |
| Récupère le source du geometry shader qui correspond aux indicateurs donnés. Plus de détails...
|
|
C3D_API PipelineFlags | prepareBackPipeline (BlendMode colourBlendMode, BlendMode alphaBlendMode, VkCompareOp alphaFunc, PassFlags const &passFlags, TextureFlagsArray const &textures, uint32_t heightMapIndex, ProgramFlags const &programFlags, SceneFlags const &sceneFlags, VkPrimitiveTopology topology, ashes::PipelineVertexInputStateCreateInfoCRefArray const &layouts) |
| Prépare le pipeline qui correspond aux indicateurs donnés, pour les noeuds en back face culling. Plus de détails...
|
|
C3D_API void | prepareBackPipeline (PipelineFlags &flags, ashes::PipelineVertexInputStateCreateInfoCRefArray const &layouts) |
| Prépare le pipeline qui correspond aux indicateurs donnés, pour les noeuds en back face culling. Plus de détails...
|
|
C3D_API PipelineFlags | prepareFrontPipeline (BlendMode colourBlendMode, BlendMode alphaBlendMode, VkCompareOp alphaFunc, PassFlags const &passFlags, TextureFlagsArray const &textures, uint32_t heightMapIndex, ProgramFlags const &programFlags, SceneFlags const &sceneFlags, VkPrimitiveTopology topology, ashes::PipelineVertexInputStateCreateInfoCRefArray const &layouts) |
| Prépare le pipeline qui correspond aux indicateurs donnés, pour les noeuds en front face culling. Plus de détails...
|
|
C3D_API void | prepareFrontPipeline (PipelineFlags &flags, ashes::PipelineVertexInputStateCreateInfoCRefArray const &layouts) |
| Prépare le pipeline qui correspond aux indicateurs donnés, pour les noeuds en front face culling. Plus de détails...
|
|
C3D_API RenderPipeline * | getPipelineFront (PipelineFlags flags) const |
| Récupère le pipeline qui correspond aux indicateurs donnés, pour les faces avant supprimées. Plus de détails...
|
|
C3D_API RenderPipeline * | getPipelineBack (PipelineFlags flags) const |
| Récupère le pipeline qui correspond aux indicateurs donnés, pour les faces arrière supprimées. Plus de détails...
|
|
C3D_API SkinningRenderNode | createSkinningNode (Pass &pass, RenderPipeline &pipeline, Submesh &submesh, Geometry &primitive, AnimatedSkeleton &skeleton) |
| Crée un noeud de rendu animé. Plus de détails...
|
|
C3D_API MorphingRenderNode | createMorphingNode (Pass &pass, RenderPipeline &pipeline, Submesh &submesh, Geometry &primitive, AnimatedMesh &mesh) |
| Crée un noeud de rendu animé. Plus de détails...
|
|
C3D_API StaticRenderNode | createStaticNode (Pass &pass, RenderPipeline &pipeline, Submesh &submesh, Geometry &primitive) |
| Crée un noeud de rendu statique. Plus de détails...
|
|
C3D_API BillboardRenderNode | createBillboardNode (Pass &pass, RenderPipeline &pipeline, BillboardBase &billboard) |
| Crée un noeud de rendu statique. Plus de détails...
|
|
C3D_API void | updatePipeline (RenderPipeline &pipeline) |
| Met à jour lee pipeline opaque. Plus de détails...
|
|
C3D_API void | initialiseUboDescriptor (ashes::DescriptorSetPool const &descriptorPool, BillboardRenderNode &node) |
| Initialise l'ensemble de descripteurs d'UBO pour un noeud de billboard. Plus de détails...
|
|
C3D_API void | initialiseUboDescriptor (ashes::DescriptorSetPool const &descriptorPool, MorphingRenderNode &node) |
| Initialise l'ensemble de descripteurs d'UBO pour un noeud de morphing. Plus de détails...
|
|
C3D_API void | initialiseUboDescriptor (ashes::DescriptorSetPool const &descriptorPool, SkinningRenderNode &node) |
| Initialise l'ensemble de descripteurs d'UBO pour un noeud de skinning. Plus de détails...
|
|
C3D_API void | initialiseUboDescriptor (ashes::DescriptorSetPool const &descriptorPool, StaticRenderNode &node) |
| Initialise l'ensemble de descripteurs d'UBO pour un noeud statique. Plus de détails...
|
|
C3D_API void | initialiseUboDescriptor (ashes::DescriptorSetPool const &descriptorPool, SubmeshSkinninRenderNodesByPassMap &nodes) |
| Initialise l'ensemble de descripteurs d'UBO pour des noeuds de skining. Plus de détails...
|
|
C3D_API void | initialiseUboDescriptor (ashes::DescriptorSetPool const &descriptorPool, SubmeshStaticRenderNodesByPassMap &nodes) |
| Initialise l'ensemble de descripteurs d'UBO pour des noeuds statiques. Plus de détails...
|
|
C3D_API void | initialiseTextureDescriptor (ashes::DescriptorSetPool const &descriptorPool, BillboardRenderNode &node, ShadowMapLightTypeArray const &shadowMaps) |
| Initialise l'ensemble de descripteurs de textures pour un noeud de billboard. Plus de détails...
|
|
C3D_API void | initialiseTextureDescriptor (ashes::DescriptorSetPool const &descriptorPool, MorphingRenderNode &node, ShadowMapLightTypeArray const &shadowMaps) |
| Initialise l'ensemble de descripteurs de textures pour un noeud de morphing. Plus de détails...
|
|
C3D_API void | initialiseTextureDescriptor (ashes::DescriptorSetPool const &descriptorPool, SkinningRenderNode &node, ShadowMapLightTypeArray const &shadowMaps) |
| Initialise l'ensemble de descripteurs de textures pour un noeud de skinning. Plus de détails...
|
|
C3D_API void | initialiseTextureDescriptor (ashes::DescriptorSetPool const &descriptorPool, StaticRenderNode &node, ShadowMapLightTypeArray const &shadowMaps) |
| Initialise l'ensemble de descripteurs de textures pour un noeud statique. Plus de détails...
|
|
C3D_API void | initialiseTextureDescriptor (ashes::DescriptorSetPool const &descriptorPool, SubmeshSkinninRenderNodesByPassMap &nodes, ShadowMapLightTypeArray const &shadowMaps) |
| Initialise l'ensemble de descripteurs de textures pour des noeuds de skinning. Plus de détails...
|
|
C3D_API void | initialiseTextureDescriptor (ashes::DescriptorSetPool const &descriptorPool, SubmeshStaticRenderNodesByPassMap &nodes, ShadowMapLightTypeArray const &shadowMaps) |
| Initialise l'ensemble de descripteurs de textures pour des noeuds statiques. Plus de détails...
|
|
C3D_API void | updateFlags (PipelineFlags &flags) const |
| Modifie les indicateurs donnés pour le faire correspondre au pré-requis de la passe de rendus. Plus de détails...
|
|
bool | isOrderIndependent () const |
|
SceneCuller const & | getCuller () const |
|
SceneCuller & | getCuller () |
|
SceneUbo & | getSceneUbo () |
|
SceneUbo const & | getSceneUbo () const |
|
MatrixUbo & | getMatrixUbo () const |
|
ashes::CommandBuffer const & | getCommandBuffer () const |
|
bool | hasNodes () const |
|
ashes::RenderPass const & | getRenderPass () const |
|
RenderPassTimer const & | getTimer () const |
|
RenderPassTimer & | getTimer () |
|
uint32_t | getPipelinesCount () const |
|
uint32_t | getInstanceMult () const |
|
bool | isDirty () const |
|
bool | forceTwoSided () const |
|
|
using | DistanceSortedNodeMap = std::multimap< double, std::unique_ptr< DistanceRenderNodeBase > > |
|
static C3D_API ashes::PipelineColorBlendStateCreateInfo | createBlendState (BlendMode colourBlendMode, BlendMode alphaBlendMode, uint32_t attachesCount) |
| Crée un état de mélange correspondant aux modes de mélange donnés. Plus de détails...
|
|
C3D_API | RenderTechniquePass (castor::String const &category, castor::String const &name, MatrixUbo &matrixUbo, SceneCuller &culler, bool environment, SceneNode const *ignored, SsaoConfig const &ssaoConfig, LpvGridConfigUbo const *lpvConfigUbo=nullptr, LayeredLpvGridConfigUbo const *llpvConfigUbo=nullptr, VoxelizerUbo const *vctConfigUbo=nullptr) |
| Constructeur pour les noeuds opaques. Plus de détails...
|
|
C3D_API | RenderTechniquePass (castor::String const &category, castor::String const &name, MatrixUbo &matrixUbo, SceneCuller &culler, bool oit, bool environment, SceneNode const *ignored, SsaoConfig const &ssaoConfig, LpvGridConfigUbo const *lpvConfigUbo=nullptr, LayeredLpvGridConfigUbo const *llpvConfigUbo=nullptr, VoxelizerUbo const *vctConfigUbo=nullptr) |
| Constructeur pour les noeuds transparents. Plus de détails...
|
|
virtual C3D_API void | doCleanup (RenderDevice const &device) override |
| Nettoie la passe. Plus de détails...
|
|
ashes::VkDescriptorSetLayoutBindingArray | doCreateUboBindings (PipelineFlags const &flags) const override |
| Crée les attaches de layout de descripteurs communs pour les UBO. Plus de détails...
|
|
ashes::VkDescriptorSetLayoutBindingArray | doCreateTextureBindings (PipelineFlags const &flags) const override |
| Crée les attaches de layout de descripteurs communs pour les textures. Plus de détails...
|
|
ShaderPtr | doGetVertexShaderSource (PipelineFlags const &flags) const override |
| Récupère le source du vertex shader qui correspond aux indicateurs donnés. Plus de détails...
|
|
C3D_API | SceneRenderPass (castor::String const &category, castor::String const &name, Engine &engine, MatrixUbo &matrixUbo, SceneCuller &culler, RenderMode mode, bool oit, bool forceTwoSided, SceneNode const *ignored, uint32_t instanceMult) |
|
C3D_API | SceneRenderPass (castor::String const &category, castor::String const &name, Engine &engine, MatrixUbo &matrixUbo, SceneCuller &culler, uint32_t instanceMult=1u) |
| Constructeur pour les noeuds opaques. Plus de détails...
|
|
C3D_API | SceneRenderPass (castor::String const &category, castor::String const &name, Engine &engine, MatrixUbo &matrixUbo, SceneCuller &culler, bool oit, uint32_t instanceMult=1u) |
| Constructeur pour les noeuds transparents. Plus de détails...
|
|
C3D_API | SceneRenderPass (castor::String const &category, castor::String const &name, Engine &engine, MatrixUbo &matrixUbo, SceneCuller &culler, SceneNode const *ignored, uint32_t instanceMult=1u) |
| Constructeur pour les noeuds opaques. Plus de détails...
|
|
C3D_API | SceneRenderPass (castor::String const &category, castor::String const &name, Engine &engine, MatrixUbo &matrixUbo, SceneCuller &culler, bool oit, SceneNode const *ignored, uint32_t instanceMult=1u) |
| Constructeur pour les noeuds transparents. Plus de détails...
|
|
C3D_API PassRenderNode | doCreatePassRenderNode (Pass &pass, RenderPipeline &pipeline) |
| Crée un noeud de rendu. Plus de détails...
|
|
C3D_API SceneRenderNode | doCreateSceneRenderNode (Scene &scene, RenderPipeline &pipeline) |
| Crée un noeud de rendu de scène. Plus de détails...
|
|
C3D_API ShaderProgramSPtr | doGetProgram (PipelineFlags const &flags) const |
| Récupère le programme shader correspondant aux indicateurs donnés. Plus de détails...
|
|
C3D_API uint32_t | doCopyNodesMatrices (StaticRenderNodePtrArray const &renderNodes, std::vector< InstantiationData > &matrixBuffer) const |
| Copie les matrices de noeuds instanciés dans le tampon de matrices donné. Plus de détails...
|
|
C3D_API uint32_t | doCopyNodesMatrices (StaticRenderNodePtrArray const &renderNodes, std::vector< InstantiationData > &matrixBuffer, RenderInfo &info) const |
| Copie les matrices de noeuds instanciés dans le tampon de matrices donné. Plus de détails...
|
|
C3D_API uint32_t | doCopyNodesMatrices (SkinningRenderNodePtrArray const &renderNodes, std::vector< InstantiationData > &matrixBuffer) const |
| Copie les matrices de noeuds instanciés dans le tampon de matrices donné. Plus de détails...
|
|
C3D_API uint32_t | doCopyNodesMatrices (SkinningRenderNodePtrArray const &renderNodes, std::vector< InstantiationData > &matrixBuffer, RenderInfo &info) const |
| Copie les matrices de noeuds instanciés dans le tampon de matrices donné. Plus de détails...
|
|
C3D_API uint32_t | doCopyNodesBones (SkinningRenderNodePtrArray const &renderNodes, ShaderBuffer &bonesBuffer) const |
| Copie les matrices de noeuds skinnés instanciés dans le tampon de matrices donné. Plus de détails...
|
|
C3D_API uint32_t | doCopyNodesBones (SkinningRenderNodePtrArray const &renderNodes, ShaderBuffer &bonesBuffer, RenderInfo &info) const |
| Copie les matrices de noeuds skinnés instanciés dans le tampon de matrices donné. Plus de détails...
|
|
C3D_API void | doUpdate (SubmeshStaticRenderNodesPtrByPipelineMap &nodes) |
| Met à jour des sous maillages instanciés. Plus de détails...
|
|
C3D_API void | doUpdate (SubmeshStaticRenderNodesPtrByPipelineMap &nodes, RenderInfo &info) |
| Met à jour des sous maillages instanciés. Plus de détails...
|
|
C3D_API void | doUpdate (StaticRenderNodesPtrByPipelineMap &nodes) |
| Met à jour des sous maillages non instanciés. Plus de détails...
|
|
C3D_API void | doUpdate (StaticRenderNodesPtrByPipelineMap &nodes, RenderInfo &info) |
| Met à jour des sous maillages non instanciés. Plus de détails...
|
|
C3D_API void | doUpdate (SkinningRenderNodesPtrByPipelineMap &nodes) |
| Met à jour des sous maillages non instanciés. Plus de détails...
|
|
C3D_API void | doUpdate (SkinningRenderNodesPtrByPipelineMap &nodes, RenderInfo &info) |
| Met à jour des sous maillages non instanciés. Plus de détails...
|
|
C3D_API void | doUpdate (SubmeshSkinningRenderNodesPtrByPipelineMap &nodes) |
| Met à jour des sous maillages instanciés. Plus de détails...
|
|
C3D_API void | doUpdate (SubmeshSkinningRenderNodesPtrByPipelineMap &nodes, RenderInfo &info) |
| Met à jour des sous maillages instanciés. Plus de détails...
|
|
C3D_API void | doUpdate (MorphingRenderNodesPtrByPipelineMap &nodes) |
| Met à jour des sous maillages non instanciés. Plus de détails...
|
|
C3D_API void | doUpdate (MorphingRenderNodesPtrByPipelineMap &nodes, RenderInfo &info) |
| Met à jour des sous maillages non instanciés. Plus de détails...
|
|
C3D_API void | doUpdate (BillboardRenderNodesPtrByPipelineMap &nodes) |
| Met à jour des billboards. Plus de détails...
|
|
C3D_API void | doUpdate (BillboardRenderNodesPtrByPipelineMap &nodes, RenderInfo &info) |
| Met à jour des billboards. Plus de détails...
|
|
virtual C3D_API void | doUpdate (RenderQueueArray &queues) |
| Met les données spécifiques. Plus de détails...
|
|
C3D_API std::map< PipelineFlags, RenderPipelineUPtr > & | doGetFrontPipelines () |
|
C3D_API std::map< PipelineFlags, RenderPipelineUPtr > & | doGetBackPipelines () |
|
C3D_API std::map< PipelineFlags, RenderPipelineUPtr > const & | doGetFrontPipelines () const |
|
C3D_API std::map< PipelineFlags, RenderPipelineUPtr > const & | doGetBackPipelines () const |
|
virtual C3D_API void | doPrepareFrontPipeline (ShaderProgramSPtr program, ashes::PipelineVertexInputStateCreateInfoCRefArray const &layouts, PipelineFlags const &flags) |
| Prépare le pipeline de rendu, en supprimant les faces avant. Plus de détails...
|
|
virtual C3D_API void | doPrepareBackPipeline (ShaderProgramSPtr program, ashes::PipelineVertexInputStateCreateInfoCRefArray const &layouts, PipelineFlags const &flags) |
| Prépare le pipeline de rendu, en supprimant les faces arrière. Plus de détails...
|
|
Scene const & | m_scene |
|
LpvGridConfigUbo const * | m_lpvConfigUbo |
|
LayeredLpvGridConfigUbo const * | m_llpvConfigUbo |
|
VoxelizerUbo const * | m_vctConfigUbo |
|
LightVolumePassResult const * | m_lpvResult |
|
TextureUnit const * | m_vctFirstBounce |
|
TextureUnit const * | m_vctSecondaryBounce |
|
Camera * | m_camera { nullptr } |
|
SceneRenderNode | m_sceneNode |
|
bool | m_environment { false } |
|
SsaoConfig | m_ssaoConfig |
|
ashes::SemaphorePtr | m_finished |
|
RenderSystem & | m_renderSystem |
|
MatrixUbo & | m_matrixUbo |
|
SceneCuller & | m_culler |
|
RenderQueue | m_renderQueue |
|
castor::String | m_category |
|
RenderMode | m_mode { RenderMode::eBoth } |
|
bool | m_oit { false } |
|
bool | m_forceTwoSided { false } |
|
bool | m_isDirty { true } |
|
SceneUbo | m_sceneUbo |
|
ashes::RenderPassPtr | m_renderPass |
|
RenderPassTimer * | m_timer { nullptr } |
|
uint32_t | m_index { 0u } |
|
RenderPassTimerSPtr | m_ownTimer |
|
castor::Size | m_size |
|
uint32_t const | m_instanceMult { 1u } |
|
std::map< size_t, UniformBufferOffsetT< ModelInstancesUboConfiguration > > | m_modelsInstances |
|