Castor3D
..
|
Classe de base d'une technique de rendu. Plus de détails...
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... | |
RenderTarget * | m_renderTarget |
La render target parente. Plus de détails... | |
RenderSystem * | m_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_NODES > | m_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... | |
Classe de base d'une technique de rendu.
|
protected |
Constructeur.
[in] | p_name | Le nom de la technique |
[in] | p_renderTarget | La render target pour cette technique |
[in] | p_renderSystem | Le render system |
[in] | p_params | Les paramètres de la technique |
|
virtual |
Destructeur.
C3D_API void Castor3D::RenderTechnique::AddScene | ( | Scene & | p_scene | ) |
Ajoute une scène dessinée via cette technique.
[in] | p_scene | La scène. |
C3D_API void Castor3D::RenderTechnique::Cleanup | ( | ) |
Fonction de nettoyage.
C3D_API bool Castor3D::RenderTechnique::Create | ( | ) |
Fonction de création.
true
si tout s'est bien passé C3D_API void Castor3D::RenderTechnique::Destroy | ( | ) |
Fonction de destruction.
|
protectedpure virtual |
Fonction de début de rendu.
[in] | p_scene | La scène à dessiner |
true
si tout s'est bien passé. Référencé par GetResult().
|
protected |
Active la passe donnée.
[in] | p_scene | La scène rendue. |
[in] | p_pipeline | Le pipeline de rendu. |
[in] | p_node | Le noeud de rendu. |
[in] | p_excludedMtxFlags | Combinaison de MASK_MTXMODE, à exclure des matrices utilisées dans le programme. |
Référencé par GetResult().
|
protected |
Active la passe donnée.
[in] | p_scene | La scène rendue. |
[in] | p_pipeline | Le pipeline de rendu. |
[in] | p_node | Le noeud de rendu. |
[in] | p_excludedMtxFlags | Combinaison de MASK_MTXMODE, à exclure des matrices utilisées dans le programme. |
|
protectedpure virtual |
|
protectedpure virtual |
Fonction de création.
true
si tout s'est bien passé Référencé par GetResult().
|
protectedpure virtual |
Fonction de destruction.
Référencé par GetResult().
|
protectedpure virtual |
Fonction de fin de rendu.
[in] | p_scene | La scène à dessiner |
Référencé par GetResult().
|
protectedvirtual |
Récupère le source du pixel shader correspondant aux flags donnés.
[in] | p_flags | Une combinaison de eTEXTURE_CHANNEL |
Référencé par GetResult().
|
protectedpure virtual |
Fonction d'initialisation.
[in] | p_index | L'index de texture de base |
true
if ok Référencé par GetResult().
|
protectedpure virtual |
Fonction de rendu.
[in] | p_nodes | Les noeuds à dessiner. |
[in] | p_camera | La caméra à travers laquelle la scène est vue. |
[in] | p_frameTime | Le temps écoulé depuis le rendu de la dernière frame. |
true
si tout s'est bien passé. Référencé par GetResult().
|
protected |
Fonction de rendu.
[in] | p_size | Les dimensions de la cible de rendu. |
[in] | p_nodes | Les noeuds de rendu de la scène. |
[in] | p_camera | La caméra à travers laquelle la scène est vue. |
[in] | p_frameTime | Le temps écoulé depuis le rendu de la dernière frame. |
true
si tout s'est bien passé.
|
protected |
Dessine des billboards.
[in] | p_scene | La scène rendue. |
[in] | p_camera | La caméra à travers laquelle la scène est vue. |
[in] | p_pipeline | Le pipeline de rendu. |
[in] | p_nodes | Les noeuds de rendu. |
Référencé par GetResult().
|
protected |
Dessine des billboards.
[in] | p_scene | La scène rendue. |
[in] | p_camera | La caméra à travers laquelle la scène est vue. |
[in] | p_pipeline | Le pipeline de rendu. |
[in] | p_nodes | Les noeuds de rendu. |
|
protected |
Dessine des sous maillages.
[in] | p_scene | La scène rendue. |
[in] | p_camera | La caméra à travers laquelle la scène est vue. |
[in] | p_pipeline | Le pipeline de rendu. |
[in] | p_nodes | Les noeuds de rendu. |
Référencé par GetResult().
|
protected |
Dessine des sous maillages instanciés.
[in] | p_scene | La scène rendue. |
[in] | p_camera | La caméra à travers laquelle la scène est vue. |
[in] | p_pipeline | Le pipeline de rendu. |
[in] | p_nodes | Les noeuds de rendu. |
Référencé par GetResult().
|
protected |
Dessine des sous maillages non instanciés.
[in] | p_scene | La scène rendue. |
[in] | p_camera | La caméra à travers laquelle la scène est vue. |
[in] | p_pipeline | Le pipeline de rendu. |
[in] | p_nodes | Les noeuds de rendu. |
Référencé par GetResult().
|
protected |
Dessine des sous maillages triés par distance.
[in] | p_scene | La scène rendue. |
[in] | p_camera | La caméra à travers laquelle la scène est vue. |
[in] | p_pipeline | Le pipeline de rendu. |
[in] | p_nodes | Les noeuds de rendu. |
|
protected |
Trie les noeuds de rendu donnés par distance à la caméra.
[in] | p_input | Les noeuds de rendu non triés. |
[in] | p_camera | La caméra. |
[out] | p_output | Les noeuds de rendu triés. |
Référencé par GetResult().
|
protected |
Trie les noeuds de rendu donnés par distance à la caméra.
[in] | p_input | Les noeuds de rendu non triés. |
[in] | p_camera | La caméra. |
[out] | p_output | Les noeuds de rendu triés. |
|
protected |
Trie les noeuds de rendu de scène.
[in,out] | p_nodes | Les noeuds. |
Référencé par GetResult().
|
protected |
Désctive la passe du noeud de rendu.
[in] | p_scene | La scène. |
[in] | p_renderNode | Le noeud de rendu. |
Référencé par GetResult().
|
protected |
Désctive la passe du noeud de rendu.
[in] | p_scene | La scène. |
[in] | p_renderNode | Le noeud de rendu. |
|
inline |
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.
[in] | p_flags | Une combinaison de eTEXTURE_CHANNEL |
|
inline |
Références DoBeginRender(), DoBindPass(), DoCleanup(), DoCreate(), DoDestroy(), DoEndRender(), DoGetPixelShaderSource(), DoInitialise(), DoRender(), DoRenderBillboards(), DoRenderSubmeshes(), DoRenderSubmeshesInstanced(), DoRenderSubmeshesNonInstanced(), DoResortAlpha(), DoSortRenderNodes(), DoUnbindPass(), Castor3D::RenderTechnique::stFRAME_BUFFER::m_colourTexture, et m_frameBuffer.
|
inline |
Références m_size.
C3D_API bool Castor3D::RenderTechnique::Initialise | ( | uint32_t & | p_index | ) |
Fonction d'initialisation.
[in] | p_index | L'index de texture de base |
true
if ok C3D_API void Castor3D::RenderTechnique::Render | ( | Scene & | p_scene, |
Camera & | p_camera, | ||
uint32_t | p_frameTime | ||
) |
Fonction de rendu.
[in] | p_scene | La scène à dessiner |
[in] | p_camera | La caméra à travers laquelle la scène est vue |
[in] | p_frameTime | Le temps écoulé depuis le rendu de la dernière frame |
C3D_API void Castor3D::RenderTechnique::Update | ( | ) |
Fonction de mise à jour.
|
protected |
Le tampon d'image HDR.
Référencé par GetResult().
|
protected |
Le statut d'initialisation de la technique.
|
protected |
Le nom de la technique.
Référencé par GetName().
|
protected |
Le render system.
|
protected |
La render target parente.
|
protected |
Les scènes dessinées via cette technique.
|
protected |
Les dimensions de l'aire de rendu.
Référencé par GetSize().
|
protected |
L'état de rastérisation pour masquer les faces arrière.
|
protected |
L'état de rastérisation pour masquer les faces avant.