Castor3D  ..
Classes | Fonctions membres publiques | Fonctions membres protégées | Attributs protégés | Liste de tous les membres
Référence de la classe Castor3D::RenderTechniqueabstract

Classe de base d'une technique de rendu. Plus de détails...

+ Graphe d'héritage de Castor3D::RenderTechnique:
+ Graphe de collaboration de Castor3D::RenderTechnique:

Classes

struct  stFRAME_BUFFER
 Structure interne contenant un tampon d'image complet. Plus de détails...
 
struct  stRENDER_NODES
 Les noeuds de rendu pour une scène spécifique. Plus de détails...
 
struct  stSCENE_RENDER_NODES
 Les noeuds de rendu pour une scène spécifique. Plus de détails...
 

Fonctions membres publiques

virtual C3D_API ~RenderTechnique ()
 Destructeur. Plus de détails...
 
C3D_API bool Create ()
 Fonction de création. Plus de détails...
 
C3D_API void Destroy ()
 Fonction de destruction. Plus de détails...
 
C3D_API bool Initialise (uint32_t &p_index)
 Fonction d'initialisation. Plus de détails...
 
C3D_API void Cleanup ()
 Fonction de nettoyage. Plus de détails...
 
C3D_API void Update ()
 Fonction de mise à jour. Plus de détails...
 
C3D_API void AddScene (Scene &p_scene)
 Ajoute une scène dessinée via cette technique. Plus de détails...
 
C3D_API void Render (Scene &p_scene, Camera &p_camera, uint32_t p_frameTime)
 Fonction de rendu. Plus de détails...
 
C3D_API Castor::String GetPixelShaderSource (uint32_t p_flags) const
 Récupère le source du pixel shader qui correspond aux flags donnés. Plus de détails...
 
Castor::String const & GetName () const
 
Castor::Size const & GetSize () const
 
DynamicTexture const & GetResult () const
 

Fonctions membres protégées

C3D_API RenderTechnique (Castor::String const &p_name, RenderTarget &p_renderTarget, RenderSystem *p_renderSystem, Parameters const &p_params)
 Constructeur. Plus de détails...
 
virtual C3D_API Castor::String DoGetPixelShaderSource (uint32_t p_flags) const
 Récupère le source du pixel shader correspondant aux flags donnés. Plus de détails...
 
virtual C3D_API bool DoCreate ()=0
 Fonction de création. Plus de détails...
 
virtual C3D_API void DoDestroy ()=0
 Fonction de destruction. Plus de détails...
 
virtual C3D_API bool DoInitialise (uint32_t &p_index)=0
 Fonction d'initialisation. Plus de détails...
 
virtual C3D_API void DoCleanup ()=0
 Fonction de nettoyage. Plus de détails...
 
virtual C3D_API bool DoBeginRender (Scene &p_scene)=0
 Fonction de début de rendu. Plus de détails...
 
virtual C3D_API void DoRender (stSCENE_RENDER_NODES &p_nodes, Camera &p_camera, uint32_t p_frameTime)=0
 Fonction de rendu. Plus de détails...
 
virtual C3D_API void DoEndRender (Scene &p_scene)=0
 Fonction de fin de rendu. Plus de détails...
 
C3D_API void DoSortRenderNodes (stSCENE_RENDER_NODES &p_nodes)
 Trie les noeuds de rendu de scène. Plus de détails...
 
C3D_API void DoBindPass (Scene &p_scene, Pipeline &p_pipeline, GeometryRenderNode &p_node, uint64_t p_excludedMtxFlags)
 Active la passe donnée. Plus de détails...
 
C3D_API void DoUnbindPass (Scene &p_scene, GeometryRenderNode &p_renderNode)
 Désctive la passe du noeud de rendu. Plus de détails...
 
C3D_API void DoBindPass (Scene &p_scene, Pipeline &p_pipeline, BillboardRenderNode &p_node, uint64_t p_excludedMtxFlags)
 Active la passe donnée. Plus de détails...
 
C3D_API void DoUnbindPass (Scene &p_scene, BillboardRenderNode &p_renderNode)
 Désctive la passe du noeud de rendu. Plus de détails...
 
C3D_API void DoRenderSubmeshesNonInstanced (Scene &p_scene, Camera const &p_camera, Pipeline &p_pipeline, SubmeshRenderNodesByProgramMap &p_nodes)
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void DoRenderSubmeshesInstanced (Scene &p_scene, Camera const &p_camera, Pipeline &p_pipeline, SubmeshRenderNodesByProgramMap &p_nodes)
 Dessine des sous maillages instanciés. Plus de détails...
 
C3D_API void DoRenderSubmeshesNonInstanced (Scene &p_scene, Camera const &p_camera, Pipeline &p_pipeline, GeometryRenderNodeByDistanceMMap &p_nodes)
 Dessine des sous maillages triés par distance. Plus de détails...
 
C3D_API void DoRenderSubmeshes (Scene &p_scene, Camera const &p_camera, Pipeline &p_pipeline, SubmeshRenderNodesByProgramMap &p_nodes)
 Dessine des sous maillages. Plus de détails...
 
C3D_API void DoRenderBillboards (Scene &p_scene, Camera const &p_camera, Pipeline &p_pipeline, BillboardRenderNodeByDistanceMMap &p_nodes)
 Dessine des billboards. Plus de détails...
 
C3D_API void DoRenderBillboards (Scene &p_scene, Camera const &p_camera, Pipeline &p_pipeline, BillboardRenderNodesByProgramMap &p_nodes)
 Dessine des billboards. Plus de détails...
 
C3D_API void DoResortAlpha (SubmeshRenderNodesByProgramMap p_input, Camera const &p_camera, GeometryRenderNodeByDistanceMMap &p_output)
 Trie les noeuds de rendu donnés par distance à la caméra. Plus de détails...
 
C3D_API void DoResortAlpha (BillboardRenderNodesByProgramMap p_input, Camera const &p_camera, BillboardRenderNodeByDistanceMMap &p_output)
 Trie les noeuds de rendu donnés par distance à la caméra. Plus de détails...
 
C3D_API void DoRender (Castor::Size const &p_size, stSCENE_RENDER_NODES &p_nodes, Camera &p_camera, uint32_t p_frameTime)
 Fonction de rendu. Plus de détails...
 

Attributs protégés

Castor::String m_name
 Le nom de la technique. Plus de détails...
 
bool m_initialised
 Le statut d'initialisation de la technique. Plus de détails...
 
RenderTargetm_renderTarget
 La render target parente. Plus de détails...
 
RenderSystemm_renderSystem
 Le render system. Plus de détails...
 
Castor::Size m_size
 Les dimensions de l'aire de rendu. Plus de détails...
 
std::map< Castor::String, stSCENE_RENDER_NODESm_scenesRenderNodes
 Les scènes dessinées via cette technique. Plus de détails...
 
stFRAME_BUFFER m_frameBuffer
 Le tampon d'image HDR. Plus de détails...
 
RasteriserStateWPtr m_wpFrontRasteriserState
 L'état de rastérisation pour masquer les faces avant. Plus de détails...
 
RasteriserStateWPtr m_wpBackRasteriserState
 L'état de rastérisation pour masquer les faces arrière. Plus de détails...
 

Description détaillée

Classe de base d'une technique de rendu.

Auteur
Sylvain DOREMUS
Version
0.7.0.0
Date
12/11/2012
Remarques
Une technique de rendu est la description d'une manière de rendre une cible de rendu

Documentation des constructeurs et destructeur

C3D_API Castor3D::RenderTechnique::RenderTechnique ( Castor::String const &  p_name,
RenderTarget p_renderTarget,
RenderSystem p_renderSystem,
Parameters const &  p_params 
)
protected

Constructeur.

Paramètres
[in]p_nameLe nom de la technique
[in]p_renderTargetLa render target pour cette technique
[in]p_renderSystemLe render system
[in]p_paramsLes paramètres de la technique
virtual C3D_API Castor3D::RenderTechnique::~RenderTechnique ( )
virtual

Destructeur.

Documentation des fonctions membres

C3D_API void Castor3D::RenderTechnique::AddScene ( Scene p_scene)

Ajoute une scène dessinée via cette technique.

Paramètres
[in]p_sceneLa scène.
C3D_API void Castor3D::RenderTechnique::Cleanup ( )

Fonction de nettoyage.

C3D_API bool Castor3D::RenderTechnique::Create ( )

Fonction de création.

Renvoie
true si tout s'est bien passé
C3D_API void Castor3D::RenderTechnique::Destroy ( )

Fonction de destruction.

virtual C3D_API bool Castor3D::RenderTechnique::DoBeginRender ( Scene p_scene)
protectedpure virtual

Fonction de début de rendu.

Remarques
A la sortie de cette méthode, le tampon d'image qui recevra les dessins doit être activé.
Paramètres
[in]p_sceneLa scène à dessiner
Renvoie
true si tout s'est bien passé.

Référencé par GetResult().

+ Voici le graphe des appelants de cette fonction :

C3D_API void Castor3D::RenderTechnique::DoBindPass ( Scene p_scene,
Pipeline p_pipeline,
GeometryRenderNode p_node,
uint64_t  p_excludedMtxFlags 
)
protected

Active la passe donnée.

Paramètres
[in]p_sceneLa scène rendue.
[in]p_pipelineLe pipeline de rendu.
[in]p_nodeLe noeud de rendu.
[in]p_excludedMtxFlagsCombinaison de MASK_MTXMODE, à exclure des matrices utilisées dans le programme.

Référencé par GetResult().

+ Voici le graphe des appelants de cette fonction :

C3D_API void Castor3D::RenderTechnique::DoBindPass ( Scene p_scene,
Pipeline p_pipeline,
BillboardRenderNode p_node,
uint64_t  p_excludedMtxFlags 
)
protected

Active la passe donnée.

Paramètres
[in]p_sceneLa scène rendue.
[in]p_pipelineLe pipeline de rendu.
[in]p_nodeLe noeud de rendu.
[in]p_excludedMtxFlagsCombinaison de MASK_MTXMODE, à exclure des matrices utilisées dans le programme.
virtual C3D_API void Castor3D::RenderTechnique::DoCleanup ( )
protectedpure virtual

Fonction de nettoyage.

Référencé par GetResult().

+ Voici le graphe des appelants de cette fonction :

virtual C3D_API bool Castor3D::RenderTechnique::DoCreate ( )
protectedpure virtual

Fonction de création.

Renvoie
true si tout s'est bien passé

Référencé par GetResult().

+ Voici le graphe des appelants de cette fonction :

virtual C3D_API void Castor3D::RenderTechnique::DoDestroy ( )
protectedpure virtual

Fonction de destruction.

Référencé par GetResult().

+ Voici le graphe des appelants de cette fonction :

virtual C3D_API void Castor3D::RenderTechnique::DoEndRender ( Scene p_scene)
protectedpure virtual

Fonction de fin de rendu.

Remarques
A la sortie de cette méthode, aucun tampon d'image ne doit être activé.
Paramètres
[in]p_sceneLa scène à dessiner

Référencé par GetResult().

+ Voici le graphe des appelants de cette fonction :

virtual C3D_API Castor::String Castor3D::RenderTechnique::DoGetPixelShaderSource ( uint32_t  p_flags) const
protectedvirtual

Récupère le source du pixel shader correspondant aux flags donnés.

Paramètres
[in]p_flagsUne combinaison de eTEXTURE_CHANNEL

Référencé par GetResult().

+ Voici le graphe des appelants de cette fonction :

virtual C3D_API bool Castor3D::RenderTechnique::DoInitialise ( uint32_t &  p_index)
protectedpure virtual

Fonction d'initialisation.

Paramètres
[in]p_indexL'index de texture de base
Renvoie
true if ok

Référencé par GetResult().

+ Voici le graphe des appelants de cette fonction :

virtual C3D_API void Castor3D::RenderTechnique::DoRender ( stSCENE_RENDER_NODES p_nodes,
Camera p_camera,
uint32_t  p_frameTime 
)
protectedpure virtual

Fonction de rendu.

Paramètres
[in]p_nodesLes noeuds à dessiner.
[in]p_cameraLa caméra à travers laquelle la scène est vue.
[in]p_frameTimeLe temps écoulé depuis le rendu de la dernière frame.
Renvoie
true si tout s'est bien passé.

Référencé par GetResult().

+ Voici le graphe des appelants de cette fonction :

C3D_API void Castor3D::RenderTechnique::DoRender ( Castor::Size const &  p_size,
stSCENE_RENDER_NODES p_nodes,
Camera p_camera,
uint32_t  p_frameTime 
)
protected

Fonction de rendu.

Paramètres
[in]p_sizeLes dimensions de la cible de rendu.
[in]p_nodesLes noeuds de rendu de la scène.
[in]p_cameraLa caméra à travers laquelle la scène est vue.
[in]p_frameTimeLe temps écoulé depuis le rendu de la dernière frame.
Renvoie
true si tout s'est bien passé.
C3D_API void Castor3D::RenderTechnique::DoRenderBillboards ( Scene p_scene,
Camera const &  p_camera,
Pipeline p_pipeline,
BillboardRenderNodeByDistanceMMap &  p_nodes 
)
protected

Dessine des billboards.

Paramètres
[in]p_sceneLa scène rendue.
[in]p_cameraLa caméra à travers laquelle la scène est vue.
[in]p_pipelineLe pipeline de rendu.
[in]p_nodesLes noeuds de rendu.

Référencé par GetResult().

+ Voici le graphe des appelants de cette fonction :

C3D_API void Castor3D::RenderTechnique::DoRenderBillboards ( Scene p_scene,
Camera const &  p_camera,
Pipeline p_pipeline,
BillboardRenderNodesByProgramMap &  p_nodes 
)
protected

Dessine des billboards.

Paramètres
[in]p_sceneLa scène rendue.
[in]p_cameraLa caméra à travers laquelle la scène est vue.
[in]p_pipelineLe pipeline de rendu.
[in]p_nodesLes noeuds de rendu.
C3D_API void Castor3D::RenderTechnique::DoRenderSubmeshes ( Scene p_scene,
Camera const &  p_camera,
Pipeline p_pipeline,
SubmeshRenderNodesByProgramMap &  p_nodes 
)
protected

Dessine des sous maillages.

Paramètres
[in]p_sceneLa scène rendue.
[in]p_cameraLa caméra à travers laquelle la scène est vue.
[in]p_pipelineLe pipeline de rendu.
[in]p_nodesLes noeuds de rendu.

Référencé par GetResult().

+ Voici le graphe des appelants de cette fonction :

C3D_API void Castor3D::RenderTechnique::DoRenderSubmeshesInstanced ( Scene p_scene,
Camera const &  p_camera,
Pipeline p_pipeline,
SubmeshRenderNodesByProgramMap &  p_nodes 
)
protected

Dessine des sous maillages instanciés.

Paramètres
[in]p_sceneLa scène rendue.
[in]p_cameraLa caméra à travers laquelle la scène est vue.
[in]p_pipelineLe pipeline de rendu.
[in]p_nodesLes noeuds de rendu.

Référencé par GetResult().

+ Voici le graphe des appelants de cette fonction :

C3D_API void Castor3D::RenderTechnique::DoRenderSubmeshesNonInstanced ( Scene p_scene,
Camera const &  p_camera,
Pipeline p_pipeline,
SubmeshRenderNodesByProgramMap &  p_nodes 
)
protected

Dessine des sous maillages non instanciés.

Paramètres
[in]p_sceneLa scène rendue.
[in]p_cameraLa caméra à travers laquelle la scène est vue.
[in]p_pipelineLe pipeline de rendu.
[in]p_nodesLes noeuds de rendu.

Référencé par GetResult().

+ Voici le graphe des appelants de cette fonction :

C3D_API void Castor3D::RenderTechnique::DoRenderSubmeshesNonInstanced ( Scene p_scene,
Camera const &  p_camera,
Pipeline p_pipeline,
GeometryRenderNodeByDistanceMMap &  p_nodes 
)
protected

Dessine des sous maillages triés par distance.

Paramètres
[in]p_sceneLa scène rendue.
[in]p_cameraLa caméra à travers laquelle la scène est vue.
[in]p_pipelineLe pipeline de rendu.
[in]p_nodesLes noeuds de rendu.
C3D_API void Castor3D::RenderTechnique::DoResortAlpha ( SubmeshRenderNodesByProgramMap  p_input,
Camera const &  p_camera,
GeometryRenderNodeByDistanceMMap &  p_output 
)
protected

Trie les noeuds de rendu donnés par distance à la caméra.

Paramètres
[in]p_inputLes noeuds de rendu non triés.
[in]p_cameraLa caméra.
[out]p_outputLes noeuds de rendu triés.

Référencé par GetResult().

+ Voici le graphe des appelants de cette fonction :

C3D_API void Castor3D::RenderTechnique::DoResortAlpha ( BillboardRenderNodesByProgramMap  p_input,
Camera const &  p_camera,
BillboardRenderNodeByDistanceMMap &  p_output 
)
protected

Trie les noeuds de rendu donnés par distance à la caméra.

Paramètres
[in]p_inputLes noeuds de rendu non triés.
[in]p_cameraLa caméra.
[out]p_outputLes noeuds de rendu triés.
C3D_API void Castor3D::RenderTechnique::DoSortRenderNodes ( stSCENE_RENDER_NODES p_nodes)
protected

Trie les noeuds de rendu de scène.

Paramètres
[in,out]p_nodesLes noeuds.

Référencé par GetResult().

+ Voici le graphe des appelants de cette fonction :

C3D_API void Castor3D::RenderTechnique::DoUnbindPass ( Scene p_scene,
GeometryRenderNode p_renderNode 
)
protected

Désctive la passe du noeud de rendu.

Paramètres
[in]p_sceneLa scène.
[in]p_renderNodeLe noeud de rendu.

Référencé par GetResult().

+ Voici le graphe des appelants de cette fonction :

C3D_API void Castor3D::RenderTechnique::DoUnbindPass ( Scene p_scene,
BillboardRenderNode p_renderNode 
)
protected

Désctive la passe du noeud de rendu.

Paramètres
[in]p_sceneLa scène.
[in]p_renderNodeLe noeud de rendu.
Castor::String const& Castor3D::RenderTechnique::GetName ( ) const
inline
Renvoie
Le nom de la technique.

Références m_name.

C3D_API Castor::String Castor3D::RenderTechnique::GetPixelShaderSource ( uint32_t  p_flags) const

Récupère le source du pixel shader qui correspond aux flags donnés.

Paramètres
[in]p_flagsUne combinaison de eTEXTURE_CHANNEL
DynamicTexture const& Castor3D::RenderTechnique::GetResult ( ) const
inline
Castor::Size const& Castor3D::RenderTechnique::GetSize ( ) const
inline
Renvoie
Les dimensions de la zone de rendu.

Références m_size.

C3D_API bool Castor3D::RenderTechnique::Initialise ( uint32_t &  p_index)

Fonction d'initialisation.

Paramètres
[in]p_indexL'index de texture de base
Renvoie
true if ok
C3D_API void Castor3D::RenderTechnique::Render ( Scene p_scene,
Camera p_camera,
uint32_t  p_frameTime 
)

Fonction de rendu.

Paramètres
[in]p_sceneLa scène à dessiner
[in]p_cameraLa caméra à travers laquelle la scène est vue
[in]p_frameTimeLe temps écoulé depuis le rendu de la dernière frame
C3D_API void Castor3D::RenderTechnique::Update ( )

Fonction de mise à jour.

Remarques
Met les noeuds de scènes à jour, si nécessaire.

Documentation des données membres

stFRAME_BUFFER Castor3D::RenderTechnique::m_frameBuffer
protected

Le tampon d'image HDR.

Référencé par GetResult().

bool Castor3D::RenderTechnique::m_initialised
protected

Le statut d'initialisation de la technique.

Castor::String Castor3D::RenderTechnique::m_name
protected

Le nom de la technique.

Référencé par GetName().

RenderSystem* Castor3D::RenderTechnique::m_renderSystem
protected

Le render system.

RenderTarget* Castor3D::RenderTechnique::m_renderTarget
protected

La render target parente.

std::map< Castor::String, stSCENE_RENDER_NODES > Castor3D::RenderTechnique::m_scenesRenderNodes
protected

Les scènes dessinées via cette technique.

Castor::Size Castor3D::RenderTechnique::m_size
protected

Les dimensions de l'aire de rendu.

Référencé par GetSize().

RasteriserStateWPtr Castor3D::RenderTechnique::m_wpBackRasteriserState
protected

L'état de rastérisation pour masquer les faces arrière.

RasteriserStateWPtr Castor3D::RenderTechnique::m_wpFrontRasteriserState
protected

L'état de rastérisation pour masquer les faces avant.


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