Castor3D
..
|
Classe de base d'une passe de rendu. Plus de détails...
Types publics | |
using | DistanceSortedNodeMap = std::multimap< double, std::unique_ptr< DistanceRenderNodeBase > > |
Fonctions membres publiques | |
virtual C3D_API | ~RenderPass () |
Destructeur. Plus de détails... | |
C3D_API bool | initialise (castor::Size const &size) |
Initialise la passe. Plus de détails... | |
C3D_API void | cleanup () |
Nettoie la passe. Plus de détails... | |
C3D_API void | update (RenderQueueArray &queues) |
Met à jour la passe de rendu. Plus de détails... | |
C3D_API glsl::Shader | getVertexShaderSource (PassFlags const &passFlags, TextureChannels const &textureFlags, ProgramFlags const &programFlags, SceneFlags const &sceneFlags, bool invertNormals) const |
Récupère le source du vertex shader qui correspond aux indicateurs donnés. Plus de détails... | |
C3D_API glsl::Shader | getPixelShaderSource (PassFlags const &passFlags, TextureChannels const &textureFlags, ProgramFlags const &programFlags, SceneFlags const &sceneFlags, ComparisonFunc alphaFunc) const |
Récupère le source du pixel shader qui correspond aux indicateurs donnés. Plus de détails... | |
C3D_API glsl::Shader | getGeometryShaderSource (PassFlags const &passFlags, TextureChannels const &textureFlags, ProgramFlags const &programFlags, SceneFlags const &sceneFlags) const |
Récupère le source du geometry shader qui correspond aux indicateurs donnés. Plus de détails... | |
C3D_API void | preparePipeline (BlendMode colourBlendMode, BlendMode alphaBlendMode, ComparisonFunc alphaFunc, PassFlags &passFlags, TextureChannels &textureFlags, ProgramFlags &programFlags, SceneFlags &sceneFlags, bool twoSided) |
Prépare le pipeline qui correspond aux indicateurs donnés. Plus de détails... | |
C3D_API RenderPipeline * | getPipelineFront (BlendMode colourBlendMode, BlendMode alphaBlendMode, ComparisonFunc alphaFunc, PassFlags const &passFlags, TextureChannels const &textureFlags, ProgramFlags const &programFlags, SceneFlags const &sceneFlags) 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 (BlendMode colourBlendMode, BlendMode alphaBlendMode, ComparisonFunc alphaFunc, PassFlags const &passFlags, TextureChannels const &textureFlags, ProgramFlags const &programFlags, SceneFlags const &sceneFlags) 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) const |
Met à jour lee pipeline opaque. Plus de détails... | |
C3D_API void | updateFlags (PassFlags &passFlags, TextureChannels &textureFlags, ProgramFlags &programFlags, SceneFlags &sceneFlags) 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 |
SceneUbo & | getSceneUbo () |
Fonctions membres protégées | |
C3D_API | RenderPass (castor::String const &name, Engine &engine, SceneNode const *ignored) |
Constructeur pour les noeuds opaques. Plus de détails... | |
C3D_API | RenderPass (castor::String const &name, Engine &engine, bool oit, SceneNode const *ignored) |
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 (PassFlags const &passFlags, TextureChannels const &textureFlags, ProgramFlags const &programFlags, SceneFlags const &sceneFlags, ComparisonFunc alphaFunc, bool invertNormals) const |
Récupère le programme shader correspondant aux flags donnés. Plus de détails... | |
C3D_API uint32_t | doCopyNodesMatrices (StaticRenderNodeArray const &renderNodes, VertexBuffer &matrixBuffer) const |
Copie les matrices de noeuds instanciés dans le tampon de matrices donné. Plus de détails... | |
C3D_API uint32_t | doCopyNodesMatrices (StaticRenderNodeArray const &renderNodes, VertexBuffer &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 (SkinningRenderNodeArray const &renderNodes, VertexBuffer &matrixBuffer) const |
Copie les matrices de noeuds instanciés dans le tampon de matrices donné. Plus de détails... | |
C3D_API uint32_t | doCopyNodesMatrices (SkinningRenderNodeArray const &renderNodes, VertexBuffer &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 (StaticRenderNodeArray const &renderNodes, Camera const &camera, VertexBuffer &matrixBuffer) const |
Copie les matrices de noeuds instanciés dans le tampon de matrices donné. Plus de détails... | |
C3D_API uint32_t | doCopyNodesMatrices (StaticRenderNodeArray const &renderNodes, Camera const &camera, VertexBuffer &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 (SkinningRenderNodeArray const &renderNodes, Camera const &camera, VertexBuffer &matrixBuffer) const |
Copie les matrices de noeuds instanciés dans le tampon de matrices donné. Plus de détails... | |
C3D_API uint32_t | doCopyNodesMatrices (SkinningRenderNodeArray const &renderNodes, Camera const &camera, VertexBuffer &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 (SkinningRenderNodeArray const &renderNodes, ShaderStorageBuffer &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 (SkinningRenderNodeArray const &renderNodes, ShaderStorageBuffer &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 | doRender (SubmeshStaticRenderNodesByPipelineMap &nodes) const |
Dessine des sous maillages instanciés. Plus de détails... | |
C3D_API void | doRender (SubmeshStaticRenderNodesByPipelineMap &nodes, ShadowMapLightTypeArray &shadowMaps) const |
Dessine des sous maillages instanciés. Plus de détails... | |
C3D_API void | doRender (SubmeshStaticRenderNodesByPipelineMap &nodes, Camera const &camera) const |
Dessine des sous maillages instanciés. Plus de détails... | |
C3D_API void | doRender (SubmeshStaticRenderNodesByPipelineMap &nodes, Camera const &camera, ShadowMapLightTypeArray &shadowMaps) const |
Dessine des sous maillages instanciés. Plus de détails... | |
C3D_API void | doRender (SubmeshStaticRenderNodesByPipelineMap &nodes, Camera const &camera, ShadowMapLightTypeArray &shadowMaps, RenderInfo &info) const |
Dessine des sous maillages instanciés. Plus de détails... | |
C3D_API void | doRender (StaticRenderNodesByPipelineMap &nodes) const |
Dessine des sous maillages non instanciés. Plus de détails... | |
C3D_API void | doRender (StaticRenderNodesByPipelineMap &nodes, ShadowMapLightTypeArray &shadowMaps) const |
Dessine des sous maillages non instanciés. Plus de détails... | |
C3D_API void | doRender (StaticRenderNodesByPipelineMap &nodes, Camera const &camera) const |
Dessine des sous maillages non instanciés. Plus de détails... | |
C3D_API void | doRender (StaticRenderNodesByPipelineMap &nodes, Camera const &camera, ShadowMapLightTypeArray &shadowMaps) const |
Dessine des sous maillages non instanciés. Plus de détails... | |
C3D_API void | doRender (StaticRenderNodesByPipelineMap &nodes, Camera const &camera, ShadowMapLightTypeArray &shadowMaps, RenderInfo &info) const |
Dessine des sous maillages non instanciés. Plus de détails... | |
C3D_API void | doRender (SkinningRenderNodesByPipelineMap &nodes) const |
Dessine des sous maillages non instanciés. Plus de détails... | |
C3D_API void | doRender (SkinningRenderNodesByPipelineMap &nodes, ShadowMapLightTypeArray &shadowMaps) const |
Dessine des sous maillages non instanciés. Plus de détails... | |
C3D_API void | doRender (SkinningRenderNodesByPipelineMap &nodes, Camera const &camera) const |
Dessine des sous maillages non instanciés. Plus de détails... | |
C3D_API void | doRender (SkinningRenderNodesByPipelineMap &nodes, Camera const &camera, ShadowMapLightTypeArray &shadowMaps) const |
Dessine des sous maillages non instanciés. Plus de détails... | |
C3D_API void | doRender (SkinningRenderNodesByPipelineMap &nodes, Camera const &camera, ShadowMapLightTypeArray &shadowMaps, RenderInfo &info) const |
Dessine des sous maillages non instanciés. Plus de détails... | |
C3D_API void | doRender (SubmeshSkinningRenderNodesByPipelineMap &nodes) const |
Dessine des sous maillages instanciés. Plus de détails... | |
C3D_API void | doRender (SubmeshSkinningRenderNodesByPipelineMap &nodes, ShadowMapLightTypeArray &shadowMaps) const |
Dessine des sous maillages instanciés. Plus de détails... | |
C3D_API void | doRender (SubmeshSkinningRenderNodesByPipelineMap &nodes, Camera const &camera) const |
Dessine des sous maillages instanciés. Plus de détails... | |
C3D_API void | doRender (SubmeshSkinningRenderNodesByPipelineMap &nodes, Camera const &camera, ShadowMapLightTypeArray &shadowMaps) const |
Dessine des sous maillages instanciés. Plus de détails... | |
C3D_API void | doRender (SubmeshSkinningRenderNodesByPipelineMap &nodes, Camera const &camera, ShadowMapLightTypeArray &shadowMaps, RenderInfo &info) const |
Dessine des sous maillages instanciés. Plus de détails... | |
C3D_API void | doRender (MorphingRenderNodesByPipelineMap &nodes) const |
Dessine des sous maillages non instanciés. Plus de détails... | |
C3D_API void | doRender (MorphingRenderNodesByPipelineMap &nodes, ShadowMapLightTypeArray &shadowMaps) const |
Dessine des sous maillages non instanciés. Plus de détails... | |
C3D_API void | doRender (MorphingRenderNodesByPipelineMap &nodes, Camera const &camera) const |
Dessine des sous maillages non instanciés. Plus de détails... | |
C3D_API void | doRender (MorphingRenderNodesByPipelineMap &nodes, Camera const &camera, ShadowMapLightTypeArray &shadowMaps) const |
Dessine des sous maillages non instanciés. Plus de détails... | |
C3D_API void | doRender (MorphingRenderNodesByPipelineMap &nodes, Camera const &camera, ShadowMapLightTypeArray &shadowMaps, RenderInfo &info) const |
Dessine des sous maillages non instanciés. Plus de détails... | |
C3D_API void | doRender (BillboardRenderNodesByPipelineMap &nodes) const |
Dessine des billboards. Plus de détails... | |
C3D_API void | doRender (BillboardRenderNodesByPipelineMap &nodes, ShadowMapLightTypeArray &shadowMaps) const |
Dessine des billboards. Plus de détails... | |
C3D_API void | doRender (BillboardRenderNodesByPipelineMap &nodes, Camera const &camera) const |
Dessine des billboards. Plus de détails... | |
C3D_API void | doRender (BillboardRenderNodesByPipelineMap &nodes, Camera const &camera, ShadowMapLightTypeArray &shadowMaps) const |
Dessine des billboards. Plus de détails... | |
C3D_API void | doRender (BillboardRenderNodesByPipelineMap &nodes, Camera const &camera, ShadowMapLightTypeArray &shadowMaps, RenderInfo &info) const |
Dessine des billboards. Plus de détails... | |
Attributs protégés | |
RenderSystem & | m_renderSystem |
RenderQueue | m_renderQueue |
bool | m_opaque { false } |
std::map< PipelineFlags, RenderPipelineUPtr > | m_frontPipelines |
std::map< PipelineFlags, RenderPipelineUPtr > | m_backPipelines |
std::set< GeometryBuffersSPtr > | m_geometryBuffers |
bool | m_oit { false } |
SceneUbo | m_sceneUbo |
MatrixUbo | m_matrixUbo |
ModelUbo | m_modelUbo |
ModelMatrixUbo | m_modelMatrixUbo |
BillboardUbo | m_billboardUbo |
SkinningUbo | m_skinningUbo |
MorphingUbo | m_morphingUbo |
RenderPassTimerSPtr | m_timer |
Classe de base d'une passe de rendu.
using castor3d::RenderPass::DistanceSortedNodeMap = std::multimap< double, std::unique_ptr< DistanceRenderNodeBase > > |
|
protected |
Constructeur pour les noeuds opaques.
[in] | name | Le nom de la passe. |
[in] | engine | Le moteur. |
[in] | ignored | Les géométries attachées à ce noeud seront ignorées lors du rendu. |
|
protected |
Constructeur pour les noeuds transparents.
[in] | name | Le nom de la passe. |
[in] | engine | Le moteur. |
[in] | oit | Le statut de rendu indépendant de l'ordre des objets. |
[in] | ignored | Les géométries attachées à ce noeud seront ignorées lors du rendu. |
|
virtual |
Destructeur.
C3D_API void castor3d::RenderPass::cleanup | ( | ) |
Nettoie la passe.
C3D_API BillboardRenderNode castor3d::RenderPass::createBillboardNode | ( | Pass & | pass, |
RenderPipeline & | pipeline, | ||
BillboardBase & | billboard | ||
) |
Crée un noeud de rendu statique.
[in] | pass | La passe. |
[in] | pipeline | Le pipeline. |
[in] | billboard | Le billboard. |
C3D_API MorphingRenderNode castor3d::RenderPass::createMorphingNode | ( | Pass & | pass, |
RenderPipeline & | pipeline, | ||
Submesh & | submesh, | ||
Geometry & | primitive, | ||
AnimatedMesh & | mesh | ||
) |
Crée un noeud de rendu animé.
[in] | pass | La passe. |
[in] | pipeline | Le pipeline. |
[in] | submesh | Le sous-maillage. |
[in] | primitive | La géométrie. |
[in] | mesh | Le maillage animé. |
C3D_API SkinningRenderNode castor3d::RenderPass::createSkinningNode | ( | Pass & | pass, |
RenderPipeline & | pipeline, | ||
Submesh & | submesh, | ||
Geometry & | primitive, | ||
AnimatedSkeleton & | skeleton | ||
) |
Crée un noeud de rendu animé.
[in] | pass | La passe. |
[in] | pipeline | Le pipeline. |
[in] | submesh | Le sous-maillage. |
[in] | primitive | La géométrie. |
[in] | skeleton | Le squelette animé. |
C3D_API StaticRenderNode castor3d::RenderPass::createStaticNode | ( | Pass & | pass, |
RenderPipeline & | pipeline, | ||
Submesh & | submesh, | ||
Geometry & | primitive | ||
) |
Crée un noeud de rendu statique.
[in] | pass | La passe. |
[in] | pipeline | Le pipeline. |
[in] | submesh | Le sous-maillage. |
[in] | primitive | La géométrie. |
|
protected |
Copie les matrices de noeuds skinnés instanciés dans le tampon de matrices donné.
[in] | renderNodes | Les noeuds instanciés. |
[in] | bonesBuffer | Le tampon de matrices des os. |
Référencé par getSceneUbo().
|
protected |
Copie les matrices de noeuds skinnés instanciés dans le tampon de matrices donné.
[in] | renderNodes | Les noeuds instanciés. |
[in] | bonesBuffer | Le tampon de matrices des os. |
[in,out] | info | Reçoit les informations de rendu. |
|
protected |
Copie les matrices de noeuds instanciés dans le tampon de matrices donné.
[in] | renderNodes | Les noeuds instanciés. |
[in] | matrixBuffer | Le tampon de matrices. |
Référencé par getSceneUbo().
|
protected |
Copie les matrices de noeuds instanciés dans le tampon de matrices donné.
[in] | renderNodes | Les noeuds instanciés. |
[in] | matrixBuffer | Le tampon de matrices. |
[in,out] | info | Reçoit les informations de rendu. |
|
protected |
Copie les matrices de noeuds instanciés dans le tampon de matrices donné.
[in] | renderNodes | Les noeuds instanciés. |
[in] | matrixBuffer | Le tampon de matrices. |
|
protected |
Copie les matrices de noeuds instanciés dans le tampon de matrices donné.
[in] | renderNodes | Les noeuds instanciés. |
[in] | matrixBuffer | Le tampon de matrices. |
[in,out] | info | Reçoit les informations de rendu. |
|
protected |
Copie les matrices de noeuds instanciés dans le tampon de matrices donné.
[in] | renderNodes | Les noeuds instanciés. |
[in] | camera | La caméra regardant la scène. |
[in] | matrixBuffer | Le tampon de matrices. |
|
protected |
Copie les matrices de noeuds instanciés dans le tampon de matrices donné.
[in] | renderNodes | Les noeuds instanciés. |
[in] | camera | La caméra regardant la scène. |
[in] | matrixBuffer | Le tampon de matrices. |
[in,out] | info | Reçoit les informations de rendu. |
|
protected |
Copie les matrices de noeuds instanciés dans le tampon de matrices donné.
[in] | renderNodes | Les noeuds instanciés. |
[in] | camera | La caméra regardant la scène. |
[in] | matrixBuffer | Le tampon de matrices. |
|
protected |
Copie les matrices de noeuds instanciés dans le tampon de matrices donné.
[in] | renderNodes | Les noeuds instanciés. |
[in] | camera | La caméra regardant la scène. |
[in] | matrixBuffer | Le tampon de matrices. |
[in,out] | info | Reçoit les informations de rendu. |
|
protected |
Crée un noeud de rendu.
[in] | pass | La passe. |
[in] | pipeline | Le pipeline. |
Référencé par getSceneUbo().
|
protected |
Crée un noeud de rendu de scène.
[in] | scene | La scène. |
[in] | pipeline | Le pipeline. |
Référencé par getSceneUbo().
|
protected |
Récupère le programme shader correspondant aux flags donnés.
[in] | passFlags | Une combinaison de PassFlag. |
[in] | textureFlags | Une combinaison de TextureChannel. |
[in] | programFlags | Une combinaison de ProgramFlag. |
[in] | sceneFlags | Les indicateurs relatifs à la scène. |
[in] | alphaFunc | La fonction de test alpha. |
[in] | invertNormals | Dit si les normales doivent être inversées, dans le programme. |
Référencé par getSceneUbo().
|
protected |
Dessine des sous maillages instanciés.
[in] | nodes | Les noeuds de rendu. |
Référencé par getSceneUbo().
|
protected |
Dessine des sous maillages instanciés.
[in] | nodes | Les noeuds de rendu. |
[in] | shadowMaps | Les textures de profondeur (ombres et autres). |
|
protected |
Dessine des sous maillages instanciés.
[in] | nodes | Les noeuds de rendu. |
[in] | camera | La caméra regardant la scène. |
|
protected |
Dessine des sous maillages instanciés.
[in] | nodes | Les noeuds de rendu. |
[in] | camera | La caméra regardant la scène. |
[in] | shadowMaps | Les textures de profondeur (ombres et autres). |
|
protected |
Dessine des sous maillages instanciés.
[in] | nodes | Les noeuds de rendu. |
[in] | camera | La caméra regardant la scène. |
[in] | shadowMaps | Les textures de profondeur (ombres et autres). |
[in,out] | info | Reçoit les informations de rendu. |
|
protected |
Dessine des sous maillages non instanciés.
[in] | nodes | Les noeuds de rendu. |
|
protected |
Dessine des sous maillages non instanciés.
[in] | nodes | Les noeuds de rendu. |
[in] | shadowMaps | Les textures de profondeur (ombres et autres). |
|
protected |
Dessine des sous maillages non instanciés.
[in] | nodes | Les noeuds de rendu. |
[in] | camera | La caméra regardant la scène. |
|
protected |
Dessine des sous maillages non instanciés.
[in] | nodes | Les noeuds de rendu. |
[in] | camera | La caméra regardant la scène. |
[in] | shadowMaps | Les textures de profondeur (ombres et autres). |
|
protected |
Dessine des sous maillages non instanciés.
[in] | nodes | Les noeuds de rendu. |
[in] | camera | La caméra regardant la scène. |
[in] | shadowMaps | Les textures de profondeur (ombres et autres). |
[in,out] | info | Reçoit les informations de rendu. |
|
protected |
Dessine des sous maillages non instanciés.
[in] | nodes | Les noeuds de rendu. |
|
protected |
Dessine des sous maillages non instanciés.
[in] | nodes | Les noeuds de rendu. |
[in] | shadowMaps | Les textures de profondeur (ombres et autres). |
|
protected |
Dessine des sous maillages non instanciés.
[in] | nodes | Les noeuds de rendu. |
[in] | camera | La caméra regardant la scène. |
|
protected |
Dessine des sous maillages non instanciés.
[in] | nodes | Les noeuds de rendu. |
[in] | camera | La caméra regardant la scène. |
[in] | shadowMaps | Les textures de profondeur (ombres et autres). |
|
protected |
Dessine des sous maillages non instanciés.
[in] | nodes | Les noeuds de rendu. |
[in] | camera | La caméra regardant la scène. |
[in] | shadowMaps | Les textures de profondeur (ombres et autres). |
[in,out] | info | Reçoit les informations de rendu. |
|
protected |
Dessine des sous maillages instanciés.
[in] | nodes | Les noeuds de rendu. |
|
protected |
Dessine des sous maillages instanciés.
[in] | nodes | Les noeuds de rendu. |
[in] | shadowMaps | Les textures de profondeur (ombres et autres). |
|
protected |
Dessine des sous maillages instanciés.
[in] | nodes | Les noeuds de rendu. |
[in] | camera | La caméra regardant la scène. |
|
protected |
Dessine des sous maillages instanciés.
[in] | nodes | Les noeuds de rendu. |
[in] | camera | La caméra regardant la scène. |
[in] | shadowMaps | Les textures de profondeur (ombres et autres). |
|
protected |
Dessine des sous maillages instanciés.
[in] | nodes | Les noeuds de rendu. |
[in] | camera | La caméra regardant la scène. |
[in] | shadowMaps | Les textures de profondeur (ombres et autres). |
[in,out] | info | Reçoit les informations de rendu. |
|
protected |
Dessine des sous maillages non instanciés.
[in] | nodes | Les noeuds de rendu. |
|
protected |
Dessine des sous maillages non instanciés.
[in] | nodes | Les noeuds de rendu. |
[in] | shadowMaps | Les textures de profondeur (ombres et autres). |
|
protected |
Dessine des sous maillages non instanciés.
[in] | nodes | Les noeuds de rendu. |
[in] | camera | La caméra regardant la scène. |
|
protected |
Dessine des sous maillages non instanciés.
[in] | nodes | Les noeuds de rendu. |
[in] | camera | La caméra regardant la scène. |
[in] | shadowMaps | Les textures de profondeur (ombres et autres). |
|
protected |
Dessine des sous maillages non instanciés.
[in] | nodes | Les noeuds de rendu. |
[in] | camera | La caméra regardant la scène. |
[in] | shadowMaps | Les textures de profondeur (ombres et autres). |
[in,out] | info | Reçoit les informations de rendu. |
|
protected |
Dessine des billboards.
[in] | nodes | Les noeuds de rendu. |
|
protected |
Dessine des billboards.
[in] | nodes | Les noeuds de rendu. |
[in] | shadowMaps | Les textures de profondeur (ombres et autres). |
|
protected |
Dessine des billboards.
[in] | nodes | Les noeuds de rendu. |
[in] | camera | La caméra regardant la scène. |
|
protected |
Dessine des billboards.
[in] | nodes | Les noeuds de rendu. |
[in] | camera | La caméra regardant la scène. |
[in] | shadowMaps | Les textures de profondeur (ombres et autres). |
|
protected |
Dessine des billboards.
[in] | nodes | Les noeuds de rendu. |
[in] | camera | La caméra regardant la scène. |
[in] | shadowMaps | Les textures de profondeur (ombres et autres). |
[in,out] | info | Reçoit les informations de rendu. |
C3D_API glsl::Shader castor3d::RenderPass::getGeometryShaderSource | ( | PassFlags const & | passFlags, |
TextureChannels const & | textureFlags, | ||
ProgramFlags const & | programFlags, | ||
SceneFlags const & | sceneFlags | ||
) | const |
Récupère le source du geometry shader qui correspond aux indicateurs donnés.
[in] | passFlags | Une combinaison de PassFlag. |
[in] | textureFlags | Une combinaison de TextureChannel. |
[in] | programFlags | Une combinaison de ProgramFlag. |
[in] | sceneFlags | Les indicateurs relatifs à la scène. |
C3D_API RenderPipeline* castor3d::RenderPass::getPipelineBack | ( | BlendMode | colourBlendMode, |
BlendMode | alphaBlendMode, | ||
ComparisonFunc | alphaFunc, | ||
PassFlags const & | passFlags, | ||
TextureChannels const & | textureFlags, | ||
ProgramFlags const & | programFlags, | ||
SceneFlags const & | sceneFlags | ||
) | const |
Récupère le pipeline qui correspond aux indicateurs donnés, pour les faces arrière supprimées.
[in] | colourBlendMode | Le mode de mélange de couleurs. |
[in] | alphaBlendMode | Le mode de mélange alpha. |
[in] | alphaFunc | La fonction de test alpha. |
[in] | passFlags | Une combinaison de PassFlag. |
[in] | textureFlags | Une combinaison de TextureChannel. |
[in] | programFlags | Une combinaison de ProgramFlag. |
[in] | sceneFlags | Les indicateurs relatifs à la scène. |
nullptr
si aucun pipeline n'est disponible pour la configuration voulue. C3D_API RenderPipeline* castor3d::RenderPass::getPipelineFront | ( | BlendMode | colourBlendMode, |
BlendMode | alphaBlendMode, | ||
ComparisonFunc | alphaFunc, | ||
PassFlags const & | passFlags, | ||
TextureChannels const & | textureFlags, | ||
ProgramFlags const & | programFlags, | ||
SceneFlags const & | sceneFlags | ||
) | const |
Récupère le pipeline qui correspond aux indicateurs donnés, pour les faces avant supprimées.
[in] | colourBlendMode | Le mode de mélange de couleurs. |
[in] | alphaBlendMode | Le mode de mélange alpha. |
[in] | alphaFunc | La fonction de test alpha. |
[in] | passFlags | Une combinaison de PassFlag. |
[in] | textureFlags | Une combinaison de TextureChannel. |
[in] | programFlags | Une combinaison de ProgramFlag. |
[in] | sceneFlags | Les indicateurs relatifs à la scène. |
nullptr
si aucun pipeline n'est disponible pour la configuration voulue. C3D_API glsl::Shader castor3d::RenderPass::getPixelShaderSource | ( | PassFlags const & | passFlags, |
TextureChannels const & | textureFlags, | ||
ProgramFlags const & | programFlags, | ||
SceneFlags const & | sceneFlags, | ||
ComparisonFunc | alphaFunc | ||
) | const |
Récupère le source du pixel shader qui correspond aux indicateurs donnés.
[in] | passFlags | Une combinaison de PassFlag. |
[in] | textureFlags | Une combinaison de TextureChannel. |
[in] | programFlags | Une combinaison de ProgramFlag. |
[in] | sceneFlags | Les indicateurs relatifs à la scène. |
[in] | alphaFunc | La fonction de test alpha. |
|
inline |
Références C3D_API, doCopyNodesBones(), doCopyNodesMatrices(), doCreatePassRenderNode(), doCreateSceneRenderNode(), doGetProgram(), doRender(), et m_sceneUbo.
C3D_API glsl::Shader castor3d::RenderPass::getVertexShaderSource | ( | PassFlags const & | passFlags, |
TextureChannels const & | textureFlags, | ||
ProgramFlags const & | programFlags, | ||
SceneFlags const & | sceneFlags, | ||
bool | invertNormals | ||
) | const |
Récupère le source du vertex shader qui correspond aux indicateurs donnés.
[in] | passFlags | Une combinaison de PassFlag. |
[in] | textureFlags | Une combinaison de TextureChannel. |
[in] | programFlags | Une combinaison de ProgramFlag. |
[in] | sceneFlags | Les indicateurs relatifs à la scène. |
[in] | invertNormals | Dit si les normales doivent être inversées, dans le programme. |
C3D_API bool castor3d::RenderPass::initialise | ( | castor::Size const & | size | ) |
Initialise la passe.
size | Les dimensions voulues pour la passe. |
true
si tout s'est bien passé.
|
inline |
Références m_oit.
C3D_API void castor3d::RenderPass::preparePipeline | ( | BlendMode | colourBlendMode, |
BlendMode | alphaBlendMode, | ||
ComparisonFunc | alphaFunc, | ||
PassFlags & | passFlags, | ||
TextureChannels & | textureFlags, | ||
ProgramFlags & | programFlags, | ||
SceneFlags & | sceneFlags, | ||
bool | twoSided | ||
) |
Prépare le pipeline qui correspond aux indicateurs donnés.
[in] | colourBlendMode | Le mode de mélange de couleurs. |
[in] | alphaBlendMode | Le mode de mélange alpha. |
[in] | alphaFunc | La fonction de test alpha. |
[in] | passFlags | Une combinaison de PassFlag. |
[in] | textureFlags | Une combinaison de TextureChannel. |
[in] | programFlags | Une combinaison de ProgramFlag. |
[in] | sceneFlags | Les indicateurs relatifs à la scène. |
[in] | twoSided | Dit si la passe est sur les deux faces. |
C3D_API void castor3d::RenderPass::update | ( | RenderQueueArray & | queues | ) |
Met à jour la passe de rendu.
[out] | queues | Reçoit les files de rendu nécessaires pour le dessin de la frame. |
C3D_API void castor3d::RenderPass::updateFlags | ( | PassFlags & | passFlags, |
TextureChannels & | textureFlags, | ||
ProgramFlags & | programFlags, | ||
SceneFlags & | sceneFlags | ||
) | const |
Modifie les indicateurs donnés pour le faire correspondre au pré-requis de la passe de rendus.
[in,out] | passFlags | Une combinaison de PassFlag. |
[in,out] | textureFlags | Une combinaison de TextureChannel. |
[in,out] | programFlags | Une combinaison de ProgramFlag. |
[in,out] | sceneFlags | Une combinaison de SceneFlag. |
C3D_API void castor3d::RenderPass::updatePipeline | ( | RenderPipeline & | pipeline | ) | const |
Met à jour lee pipeline opaque.
[in] | pipeline | Le pipeline de rendu. |
|
protected |
Les pipelines de rendu utilisés pour dessiner les faces avant noeuds.
|
protected |
Le tampon d'uniformes contenant les données de billboard.
|
protected |
Les pipelines de rendu utilisés pour dessiner les faces arrière des noeuds.
|
protected |
Les tampons de géométries.
|
protected |
Le tampon d'uniformes contenant les données de matrices.
|
protected |
Le tampon d'uniformes contenant les données de matrices.
|
protected |
Le tampon d'uniformes contenant les données du modèle.
|
protected |
Le tampon d'uniformes contenant les données d'animation de morphing.
|
protected |
Dit si la technique utilise le rendu indépendant de l'ordre.
Référencé par isOrderIndependent().
|
protected |
Dit si cette passe est utilisée pour les noeuds de rendu opaques.
|
protected |
La file de rendu.
|
protected |
Le render system.
|
protected |
Le tampon d'uniformes contenant les données de scène.
Référencé par getSceneUbo().
|
protected |
Le tampon d'uniformes contenant les données d'animation de skinning.
|
protected |
Le timer de la passe de rendu.