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

Classe de technique de rendu implémentant le Deferred lighting. Plus de détails...

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

Fonctions membres publiques

virtual ~DeferredShadingRenderTechnique ()
 Destructeur. Plus de détails...
 
- Fonctions membres publiques hérités de Castor3D::RenderTechniqueBase
virtual ~RenderTechniqueBase ()
 Destructeur. Plus de détails...
 
bool Create ()
 Fonction de création. Plus de détails...
 
void Destroy ()
 Fonction de destruction. Plus de détails...
 
bool Initialise (uint32_t &p_index)
 Fonction d'initialisation. Plus de détails...
 
void Cleanup ()
 Fonction de nettoyage. Plus de détails...
 
bool BeginRender ()
 Fonction de début de rendu. Plus de détails...
 
bool Render (Scene &p_scene, Camera &p_camera, eTOPOLOGY p_ePrimitives, double p_dFrameTime)
 Fonction de rendu. Plus de détails...
 
void EndRender ()
 Fonction de fin de rendu. Plus de détails...
 
Castor::String const & GetName () const
 Récupère le nom de la technique. Plus de détails...
 

Fonctions membres publiques statiques

static RenderTechniqueBaseSPtr CreateInstance (RenderTarget &p_renderTarget, RenderSystem *p_pRenderSystem, Parameters const &p_params)
 Fonction d'instanciation, utilisée par la fabrique pour créer des objets d'un type donné Plus de détails...
 

Fonctions membres protégées

enum eDS_TEXTURE CASTOR_TYPE (uint8_t)
 
 DECLARE_SMART_PTR (Point3rFrameVariable)
 
 DeferredShadingRenderTechnique ()
 Constructeur. Plus de détails...
 
 DeferredShadingRenderTechnique (RenderTarget &p_renderTarget, RenderSystem *p_pRenderSystem, Parameters const &p_params)
 Constructeur. Plus de détails...
 
virtual bool DoCreate ()
 Fonction de création. Plus de détails...
 
virtual void DoDestroy ()
 Fonction de destruction. Plus de détails...
 
virtual bool DoInitialise (uint32_t &p_index)
 Fonction d'initialisation. Plus de détails...
 
virtual void DoCleanup ()
 Fonction de nettoyage. Plus de détails...
 
virtual bool DoBeginRender ()
 Fonction de début de rendu. Plus de détails...
 
virtual bool DoRender (Scene &p_scene, Camera &p_camera, eTOPOLOGY p_ePrimitives, double p_dFrameTime)
 Fonction de rendu. Plus de détails...
 
virtual void DoEndRender ()
 Fonction de fin de rendu. Plus de détails...
 
- Fonctions membres protégées hérités de Castor3D::RenderTechniqueBase
 RenderTechniqueBase (Castor::String const &p_name)
 Constructeur. Plus de détails...
 
 RenderTechniqueBase (Castor::String const &p_name, RenderTarget &p_renderTarget, RenderSystem *p_pRenderSystem, Parameters const &p_params)
 Constructeur. Plus de détails...
 

Attributs protégés

 eDS_TEXTURE
 
DynamicTextureSPtr m_pDsTextures [eDS_TEXTURE_COUNT]
 Les diverses textures. Plus de détails...
 
DepthStencilRenderBufferSPtr m_pDsBufDepth
 Le tampon recevant la couleur de la profondeur. Plus de détails...
 
FrameBufferSPtr m_pDsFrameBuffer
 Le tampon d'image pour le deferred shading. Plus de détails...
 
TextureAttachmentSPtr m_pDsTexAttachs [eDS_TEXTURE_COUNT]
 Les attaches entre les texture et le tampon deferred shading. Plus de détails...
 
RenderBufferAttachmentSPtr m_pDsDepthAttach
 L'attache entre la texture profondeur et le tampon deferred shading. Plus de détails...
 
ShaderProgramBaseSPtr m_pDsShaderProgram
 Le shader utilisé pour rendre les lumières. Plus de détails...
 
BufferDeclarationSPtr m_pDeclaration
 Déclaration des éléments d'un vertex. Plus de détails...
 
std::array
< BufferElementGroupSPtr, 4 > 
m_arrayVertex
 Tableau de vertex (définition du quad) Plus de détails...
 
GeometryBuffersSPtr m_pGeometryBuffers
 Conteneur de buffers de géométries. Plus de détails...
 
Castor::real m_pBuffer [20]
 4 * [3(vertex position) 2(texture coordinates)] Plus de détails...
 
ViewportSPtr m_pViewport
 Le viewport utilisé pour rendre la cible sur sa cible (fenêtre ou texture) Plus de détails...
 
Point3rFrameVariableSPtr m_pShaderCamera
 La variable de shader contenant la position de la caméra. Plus de détails...
 
DepthStencilStateSPtr m_pDsGeometricState
 Le DepthStencilState utilisé par la passe géométrique. Plus de détails...
 
DepthStencilStateSPtr m_pDsLightsState
 Le DepthStencilState utilisé par la passe lumières. Plus de détails...
 
- Attributs protégés hérités de Castor3D::RenderTechniqueBase
Castor::String m_name
 Le nom de la technique. Plus de détails...
 
RenderTargetm_pRenderTarget
 La render target parente. Plus de détails...
 
Enginem_pEngine
 Le moteur. Plus de détails...
 
RenderSystemm_pRenderSystem
 Le render system. Plus de détails...
 
BlendStateWPtr m_wp2DBlendState
 L'état de mélange pour les overlays. Plus de détails...
 
DepthStencilStateWPtr m_wp2DDepthStencilState
 L'état de profoundeur et stenxil pour les overlays. Plus de détails...
 
Castor::Size m_size
 Les dimensions des tampons de la technique. Plus de détails...
 
Castor::Rectangle m_rect
 Le rectangle de blit de la technique. Plus de détails...
 
SamplerSPtr m_sampler
 L'échantillonneur utilisé par les textures. Plus de détails...
 
FrameBufferSPtr m_pFrameBuffer
 Le tampon d'image. Plus de détails...
 
DynamicTextureSPtr m_pColorBuffer
 Le tampon recevant le rendu couleur. Plus de détails...
 
DepthStencilRenderBufferSPtr m_pDepthBuffer
 Le tampon recevant le rendu profondeur. Plus de détails...
 
TextureAttachmentSPtr m_pColorAttach
 L'attache entre le tampon couleur et le tampon d'image. Plus de détails...
 
RenderBufferAttachmentSPtr m_pDepthAttach
 L'attache entre le tampon profondeur et le tampon d'image. Plus de détails...
 

Description détaillée

Classe de technique de rendu implémentant le Deferred lighting.

Auteur
Sylvain DOREMUS
Version
0.7.0.0
Date
12/11/2012
Remarques
On crée jusqu'à 6 tampons de rendu (position, diffuse, normales, tangentes, bitangentes, spéculaire)
on fait le rendu dans ces tampons (Geometry Pass)
puis on fait un rendu de ces tampons en ajoutant les lumières (Light Pass)

Documentation des constructeurs et destructeur

Castor3D::DeferredShadingRenderTechnique::DeferredShadingRenderTechnique ( )
protected

Constructeur.

Remarques
Utilisé uniquement par TechniqueFactory
Castor3D::DeferredShadingRenderTechnique::DeferredShadingRenderTechnique ( RenderTarget p_renderTarget,
RenderSystem p_pRenderSystem,
Parameters const &  p_params 
)
protected

Constructeur.

Paramètres
[in]p_renderTargetLa render target pour cette technique
[in]p_pRenderSystemLe render system
[in]p_paramsLes paramètres de la technique
virtual Castor3D::DeferredShadingRenderTechnique::~DeferredShadingRenderTechnique ( )
virtual

Destructeur.

Documentation des fonctions membres

enum eDS_TEXTURE Castor3D::DeferredShadingRenderTechnique::CASTOR_TYPE ( uint8_t  )
inlineprotected
static RenderTechniqueBaseSPtr Castor3D::DeferredShadingRenderTechnique::CreateInstance ( RenderTarget p_renderTarget,
RenderSystem p_pRenderSystem,
Parameters const &  p_params 
)
static

Fonction d'instanciation, utilisée par la fabrique pour créer des objets d'un type donné

Paramètres
[in]p_renderTargetLa cible de rendu de la technique
[in]p_pRenderSystemLe render system
[in]p_paramsLes paramètres de la technique
Renvoie
Un clône de cet objet
Castor3D::DeferredShadingRenderTechnique::DECLARE_SMART_PTR ( Point3rFrameVariable  )
protected
virtual bool Castor3D::DeferredShadingRenderTechnique::DoBeginRender ( )
protectedvirtual

Fonction de début de rendu.

Renvoie
true si tout s'est bien passé

Implémente Castor3D::RenderTechniqueBase.

virtual void Castor3D::DeferredShadingRenderTechnique::DoCleanup ( )
protectedvirtual

Fonction de nettoyage.

Implémente Castor3D::RenderTechniqueBase.

virtual bool Castor3D::DeferredShadingRenderTechnique::DoCreate ( )
protectedvirtual

Fonction de création.

Renvoie
true si tout s'est bien passé

Implémente Castor3D::RenderTechniqueBase.

virtual void Castor3D::DeferredShadingRenderTechnique::DoDestroy ( )
protectedvirtual

Fonction de destruction.

Implémente Castor3D::RenderTechniqueBase.

virtual void Castor3D::DeferredShadingRenderTechnique::DoEndRender ( )
protectedvirtual

Fonction de fin de rendu.

Implémente Castor3D::RenderTechniqueBase.

virtual bool Castor3D::DeferredShadingRenderTechnique::DoInitialise ( uint32_t &  p_index)
protectedvirtual

Fonction d'initialisation.

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

Implémente Castor3D::RenderTechniqueBase.

virtual bool Castor3D::DeferredShadingRenderTechnique::DoRender ( Scene p_scene,
Camera p_camera,
eTOPOLOGY  p_ePrimitives,
double  p_dFrameTime 
)
protectedvirtual

Fonction de rendu.

Paramètres
[in]p_sceneLa scène à rendre
[in]p_cameraLa caméra à travers laquelle la scène est vue
[in]p_ePrimitivesLe mode d'affichage
[in]p_dFrameTimeLe temps écoulé depuis le rendu de la dernière frame
Renvoie
true si tout s'est bien passé

Réimplémentée à partir de Castor3D::RenderTechniqueBase.

Documentation des données membres

Castor3D::DeferredShadingRenderTechnique::eDS_TEXTURE
protected
std::array< BufferElementGroupSPtr, 4 > Castor3D::DeferredShadingRenderTechnique::m_arrayVertex
protected

Tableau de vertex (définition du quad)

Castor::real Castor3D::DeferredShadingRenderTechnique::m_pBuffer[20]
protected

4 * [3(vertex position) 2(texture coordinates)]

BufferDeclarationSPtr Castor3D::DeferredShadingRenderTechnique::m_pDeclaration
protected

Déclaration des éléments d'un vertex.

DepthStencilRenderBufferSPtr Castor3D::DeferredShadingRenderTechnique::m_pDsBufDepth
protected

Le tampon recevant la couleur de la profondeur.

RenderBufferAttachmentSPtr Castor3D::DeferredShadingRenderTechnique::m_pDsDepthAttach
protected

L'attache entre la texture profondeur et le tampon deferred shading.

FrameBufferSPtr Castor3D::DeferredShadingRenderTechnique::m_pDsFrameBuffer
protected

Le tampon d'image pour le deferred shading.

DepthStencilStateSPtr Castor3D::DeferredShadingRenderTechnique::m_pDsGeometricState
protected

Le DepthStencilState utilisé par la passe géométrique.

DepthStencilStateSPtr Castor3D::DeferredShadingRenderTechnique::m_pDsLightsState
protected

Le DepthStencilState utilisé par la passe lumières.

ShaderProgramBaseSPtr Castor3D::DeferredShadingRenderTechnique::m_pDsShaderProgram
protected

Le shader utilisé pour rendre les lumières.

TextureAttachmentSPtr Castor3D::DeferredShadingRenderTechnique::m_pDsTexAttachs[eDS_TEXTURE_COUNT]
protected

Les attaches entre les texture et le tampon deferred shading.

DynamicTextureSPtr Castor3D::DeferredShadingRenderTechnique::m_pDsTextures[eDS_TEXTURE_COUNT]
protected

Les diverses textures.

GeometryBuffersSPtr Castor3D::DeferredShadingRenderTechnique::m_pGeometryBuffers
protected

Conteneur de buffers de géométries.

Point3rFrameVariableSPtr Castor3D::DeferredShadingRenderTechnique::m_pShaderCamera
protected

La variable de shader contenant la position de la caméra.

ViewportSPtr Castor3D::DeferredShadingRenderTechnique::m_pViewport
protected

Le viewport utilisé pour rendre la cible sur sa cible (fenêtre ou texture)


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