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

Classe contenant le contexte de rendu. Plus de détails...

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

Fonctions membres publiques

C3D_API Context (RenderSystem &p_renderSystem)
 Constructeur. Plus de détails...
 
virtual C3D_API ~Context ()
 Destructeur. Plus de détails...
 
C3D_API bool Initialise (RenderWindow *p_window)
 Initialise le contexte. Plus de détails...
 
C3D_API void Cleanup ()
 Nettoie le contexte. Plus de détails...
 
C3D_API void SetCurrent ()
 Définit le contexte pour être celui de rendu actuel. Plus de détails...
 
C3D_API void EndCurrent ()
 Définit ce contexte pour ne pas être l'actuel. Plus de détails...
 
C3D_API void SwapBuffers ()
 Echange les buffers de rendu. Plus de détails...
 
C3D_API void PrepareSkybox (TextureLayout const &p_texture, Castor::Size const &p_size, Skybox &p_skybox)
 Prépare les face d'une skybox depuis une image HDR equirectangulaire. Plus de détails...
 
C3D_API void RenderTextureCube (Castor::Size const &p_size, TextureLayout const &p_texture)
 Rend la texture cube donnée dans le tampon d'image actuellement activé en dessin. Plus de détails...
 
C3D_API void RenderTextureCube (Castor::Size const &p_size, TextureLayout const &p_texture, uint32_t p_index)
 Rend la couche voulue du tableau de textures cube donné dans le tampon d'image actuellement activé en dessin. Plus de détails...
 
C3D_API void RenderTexture (Castor::Position const &p_position, Castor::Size const &p_size, TextureLayout const &p_texture, RenderPipeline &p_pipeline, UniformBuffer &p_matrixUbo)
 Dessine la texture 2D donnée. Plus de détails...
 
C3D_API void RenderTexture (Castor::Position const &p_position, Castor::Size const &p_size, TextureLayout const &p_texture)
 Rend la texture 2D donnée dans le tampon d'image actuellement activé en dessin. Plus de détails...
 
C3D_API void RenderTexture (Castor::Position const &p_position, Castor::Size const &p_size, TextureLayout const &p_texture, uint32_t p_index)
 Rend la couche voulue du tableau de textures 2D donné dans le tampon d'image actuellement activé en dessin. Plus de détails...
 
C3D_API void RenderDepthCube (Castor::Position const &p_position, Castor::Size const &p_size, TextureLayout const &p_texture)
 Rend la texture cube de profondeur donnée dans le tampon d'image actuellement activé en dessin. Plus de détails...
 
C3D_API void RenderDepthCube (Castor::Position const &p_position, Castor::Size const &p_size, TextureLayout const &p_texture, uint32_t p_index)
 Rend la couche voulue du tableau de textures cube de profondeur donné dans le tampon d'image actuellement activé en dessin. Plus de détails...
 
C3D_API void RenderDepth (Castor::Position const &p_position, Castor::Size const &p_size, TextureLayout const &p_texture)
 Rend la texture 2D de profondeur donnée dans le tampon d'image actuellement activé en dessin. Plus de détails...
 
C3D_API void RenderDepth (Castor::Position const &p_position, Castor::Size const &p_size, TextureLayout const &p_texture, uint32_t p_index)
 Rend la couche voulue du tableau de textures 2D de profondeur donné dans le tampon d'image actuellement activé en dessin. Plus de détails...
 
void RenderTexture (Castor::Size const &p_size, TextureLayout const &p_texture, RenderPipeline &p_pipeline, UniformBuffer &p_matrixUbo)
 Dessine la texture 2D donnée. Plus de détails...
 
void RenderTexture (Castor::Size const &p_size, TextureLayout const &p_texture)
 Rend la texture 2D donnée dans le tampon d'image actuellement activé en dessin. Plus de détails...
 
void RenderTexture (Castor::Size const &p_size, TextureLayout const &p_texture, uint32_t p_index)
 Rend la couche voulue du tableau de textures 2D donné dans le tampon d'image actuellement activé en dessin. Plus de détails...
 
void RenderDepth (Castor::Size const &p_size, TextureLayout const &p_texture)
 Rend la texture 2D de profondeur donnée dans le tampon d'image actuellement activé en dessin. Plus de détails...
 
void RenderDepth (Castor::Size const &p_size, TextureLayout const &p_texture, uint32_t p_index)
 Rend la couche voulue du tableau de textures 2D de profondeur donné dans le tampon d'image actuellement activé en dessin. Plus de détails...
 
void RenderDepthCube (Castor::Size const &p_size, TextureLayout const &p_texture)
 Rend la texture cube de profondeur donnée dans le tampon d'image actuellement activé en dessin. Plus de détails...
 
void RenderDepthCube (Castor::Size const &p_size, TextureLayout const &p_texture, uint32_t p_index)
 Rend la couche voulue du tableau de textures cube de profondeur donné dans le tampon d'image actuellement activé en dessin. Plus de détails...
 
bool IsInitialised () const
 Dit si le contexte est initialisé Plus de détails...
 
bool IsMultiSampling () const
 Dit si le contexte utilise le multisampling. Plus de détails...
 
void SetMultiSampling (bool p_value)
 Définit le statut du multisampling. Plus de détails...
 
RenderWindow const & GetWindow () const
 
RenderWindowGetWindow ()
 

Fonctions membres protégées

C3D_API void DoRenderTextureFace (Castor::Position const &p_position, Castor::Size const &p_size, TextureLayout const &p_texture, CubeMapFace p_face, RenderPipeline &p_pipeline, UniformBuffer &p_matrixUbo, GeometryBuffers const &p_geometryBuffers)
 Dessine la face voulue de la texture cube donnée. Plus de détails...
 
C3D_API void DoRenderTextureFace (Castor::Position const &p_position, Castor::Size const &p_size, TextureLayout const &p_texture, CubeMapFace p_face, RenderPipeline &p_pipeline, UniformBuffer &p_matrixUbo, GeometryBuffers const &p_geometryBuffers, uint32_t p_index)
 Dessine la face voulue de la couche voulue du tableau de textures cube donné. Plus de détails...
 
virtual C3D_API bool DoInitialise ()=0
 Initialise le contexte. Plus de détails...
 
virtual C3D_API void DoCleanup ()=0
 Nettoie le contexte. Plus de détails...
 
virtual C3D_API void DoDestroy ()=0
 Détruit le contexte sur le GPU. Plus de détails...
 
virtual C3D_API void DoSetCurrent ()=0
 Définit le contexte pour être celui de rendu actuel. Plus de détails...
 
virtual C3D_API void DoEndCurrent ()=0
 Définit ce contexte pour ne pas être l'actuel. Plus de détails...
 
virtual C3D_API void DoSwapBuffers ()=0
 Echange les buffers de rendu. Plus de détails...
 

Attributs protégés

RenderWindowm_window
 
bool m_initialised
 
bool m_bMultiSampling
 
std::array< GpuQueryUPtr, 2 > m_timerQuery
 
uint32_t m_queryIndex = 0
 
UniformBuffer m_matrixUbo
 
RenderColourToTexture m_colour
 
RenderColourCubeToTexture m_colourCube
 
RenderColourLayerToTexture m_colourLayer
 
RenderColourLayerCubeToTexture m_colourLayerCube
 
RenderDepthToTexture m_depth
 
RenderDepthCubeToTexture m_depthCube
 
RenderDepthLayerToTexture m_depthLayer
 
RenderDepthLayerCubeToTexture m_depthLayerCube
 
RenderColourToCube m_cube
 

Description détaillée

Classe contenant le contexte de rendu.

Auteur
Sylvain DOREMUS
Date
03/01/2011
Version
0.6.1.1

Documentation des constructeurs et destructeur

◆ Context()

C3D_API Castor3D::Context::Context ( RenderSystem p_renderSystem)
explicit

Constructeur.

Paramètres
[in]p_renderSystemLe RenderSystem.

◆ ~Context()

virtual C3D_API Castor3D::Context::~Context ( )
virtual

Destructeur.

Documentation des fonctions membres

◆ Cleanup()

C3D_API void Castor3D::Context::Cleanup ( )

Nettoie le contexte.

◆ DoCleanup()

virtual C3D_API void Castor3D::Context::DoCleanup ( )
protectedpure virtual

Nettoie le contexte.

Référencé par GetWindow().

+ Voici le graphe des appelants de cette fonction :

◆ DoDestroy()

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

Détruit le contexte sur le GPU.

Référencé par GetWindow().

+ Voici le graphe des appelants de cette fonction :

◆ DoEndCurrent()

virtual C3D_API void Castor3D::Context::DoEndCurrent ( )
protectedpure virtual

Définit ce contexte pour ne pas être l'actuel.

Référencé par GetWindow().

+ Voici le graphe des appelants de cette fonction :

◆ DoInitialise()

virtual C3D_API bool Castor3D::Context::DoInitialise ( )
protectedpure virtual

Initialise le contexte.

Renvoie
true si initialisé correctement

Référencé par GetWindow().

+ Voici le graphe des appelants de cette fonction :

◆ DoRenderTextureFace() [1/2]

C3D_API void Castor3D::Context::DoRenderTextureFace ( Castor::Position const &  p_position,
Castor::Size const &  p_size,
TextureLayout const &  p_texture,
CubeMapFace  p_face,
RenderPipeline p_pipeline,
UniformBuffer p_matrixUbo,
GeometryBuffers const &  p_geometryBuffers 
)
protected

Dessine la face voulue de la texture cube donnée.

Paramètres
[in]p_positionLa position du viewport de rendu.
[in]p_sizeLa taille du viewport de rendu.
[in]p_textureLa texture.
[in]p_faceLa face du cube.
[in]p_pipelineLe pipeline de rendu.
[in]p_matrixUboLe tampon d'uniformes recevant les matrices.
[in]p_geometryBuffersLes tampons de géométrie utilisés pour dessiner la texture.

Référencé par GetWindow().

+ Voici le graphe des appelants de cette fonction :

◆ DoRenderTextureFace() [2/2]

C3D_API void Castor3D::Context::DoRenderTextureFace ( Castor::Position const &  p_position,
Castor::Size const &  p_size,
TextureLayout const &  p_texture,
CubeMapFace  p_face,
RenderPipeline p_pipeline,
UniformBuffer p_matrixUbo,
GeometryBuffers const &  p_geometryBuffers,
uint32_t  p_index 
)
protected

Dessine la face voulue de la couche voulue du tableau de textures cube donné.

Paramètres
[in]p_positionLa position du viewport de rendu.
[in]p_sizeLa taille du viewport de rendu.
[in]p_textureLa texture.
[in]p_faceLa face du cube.
[in]p_pipelineLe pipeline de rendu.
[in]p_matrixUboLe tampon d'uniformes recevant les matrices.
[in]p_geometryBuffersLes tampons de géométrie utilisés pour dessiner la texture.
[in]p_indexL'index de la couche.

◆ DoSetCurrent()

virtual C3D_API void Castor3D::Context::DoSetCurrent ( )
protectedpure virtual

Définit le contexte pour être celui de rendu actuel.

Référencé par GetWindow().

+ Voici le graphe des appelants de cette fonction :

◆ DoSwapBuffers()

virtual C3D_API void Castor3D::Context::DoSwapBuffers ( )
protectedpure virtual

Echange les buffers de rendu.

Référencé par GetWindow().

+ Voici le graphe des appelants de cette fonction :

◆ EndCurrent()

C3D_API void Castor3D::Context::EndCurrent ( )

Définit ce contexte pour ne pas être l'actuel.

◆ GetWindow() [1/2]

RenderWindow const& Castor3D::Context::GetWindow ( ) const
inline
Renvoie
La fenêtre de rendu.

Références m_window.

◆ GetWindow() [2/2]

RenderWindow& Castor3D::Context::GetWindow ( )
inline
Renvoie
La fenêtre de rendu.

Références C3D_API, DoCleanup(), DoDestroy(), DoEndCurrent(), DoInitialise(), DoRenderTextureFace(), DoSetCurrent(), DoSwapBuffers(), et m_window.

+ Voici le graphe d'appel pour cette fonction :

◆ Initialise()

C3D_API bool Castor3D::Context::Initialise ( RenderWindow p_window)

Initialise le contexte.

Paramètres
[in]p_windowLa RenderWindow
Renvoie
true si initialisé correctement

◆ IsInitialised()

bool Castor3D::Context::IsInitialised ( ) const
inline

Dit si le contexte est initialisé

Références m_initialised.

◆ IsMultiSampling()

bool Castor3D::Context::IsMultiSampling ( ) const
inline

Dit si le contexte utilise le multisampling.

Références m_bMultiSampling.

◆ PrepareSkybox()

C3D_API void Castor3D::Context::PrepareSkybox ( TextureLayout const &  p_texture,
Castor::Size const &  p_size,
Skybox p_skybox 
)

Prépare les face d'une skybox depuis une image HDR equirectangulaire.

Paramètres
[in]p_textureLa texture contenant l'image HDR.
[in]p_sizeLes dimensions des faces de la skybox.
[out]p_skyboxLa skybox à préparer.

◆ RenderDepth() [1/4]

C3D_API void Castor3D::Context::RenderDepth ( Castor::Position const &  p_position,
Castor::Size const &  p_size,
TextureLayout const &  p_texture 
)

Rend la texture 2D de profondeur donnée dans le tampon d'image actuellement activé en dessin.

Paramètres
[in]p_positionLa position du viewport de rendu.
[in]p_sizeLa taille du viewport de rendu.
[in]p_textureLa texture.

Référencé par RenderDepth(), et RenderDepthCube().

+ Voici le graphe des appelants de cette fonction :

◆ RenderDepth() [2/4]

C3D_API void Castor3D::Context::RenderDepth ( Castor::Position const &  p_position,
Castor::Size const &  p_size,
TextureLayout const &  p_texture,
uint32_t  p_index 
)

Rend la couche voulue du tableau de textures 2D de profondeur donné dans le tampon d'image actuellement activé en dessin.

Paramètres
[in]p_positionLa position du viewport de rendu.
[in]p_sizeLa taille du viewport de rendu.
[in]p_textureLa texture.
[in]p_indexL'index de la couche.

◆ RenderDepth() [3/4]

void Castor3D::Context::RenderDepth ( Castor::Size const &  p_size,
TextureLayout const &  p_texture 
)
inline

Rend la texture 2D de profondeur donnée dans le tampon d'image actuellement activé en dessin.

Paramètres
[in]p_sizeLa taille du viewport de rendu.
[in]p_textureLa texture.

Références RenderDepth().

+ Voici le graphe d'appel pour cette fonction :

◆ RenderDepth() [4/4]

void Castor3D::Context::RenderDepth ( Castor::Size const &  p_size,
TextureLayout const &  p_texture,
uint32_t  p_index 
)
inline

Rend la couche voulue du tableau de textures 2D de profondeur donné dans le tampon d'image actuellement activé en dessin.

Paramètres
[in]p_sizeLa taille du viewport de rendu.
[in]p_textureLa texture.
[in]p_indexL'index de la couche.

Références RenderDepth().

+ Voici le graphe d'appel pour cette fonction :

◆ RenderDepthCube() [1/4]

C3D_API void Castor3D::Context::RenderDepthCube ( Castor::Position const &  p_position,
Castor::Size const &  p_size,
TextureLayout const &  p_texture 
)

Rend la texture cube de profondeur donnée dans le tampon d'image actuellement activé en dessin.

Paramètres
[in]p_positionLa position du viewport de rendu.
[in]p_sizeLa taille du viewport de rendu.
[in]p_textureLa texture.

◆ RenderDepthCube() [2/4]

C3D_API void Castor3D::Context::RenderDepthCube ( Castor::Position const &  p_position,
Castor::Size const &  p_size,
TextureLayout const &  p_texture,
uint32_t  p_index 
)

Rend la couche voulue du tableau de textures cube de profondeur donné dans le tampon d'image actuellement activé en dessin.

Paramètres
[in]p_positionLa position du viewport de rendu.
[in]p_sizeLa taille du viewport de rendu.
[in]p_textureLa texture.
[in]p_indexL'index de la couche.

◆ RenderDepthCube() [3/4]

void Castor3D::Context::RenderDepthCube ( Castor::Size const &  p_size,
TextureLayout const &  p_texture 
)
inline

Rend la texture cube de profondeur donnée dans le tampon d'image actuellement activé en dessin.

Paramètres
[in]p_sizeLa taille du viewport de rendu.
[in]p_textureLa texture.

Références RenderDepth().

+ Voici le graphe d'appel pour cette fonction :

◆ RenderDepthCube() [4/4]

void Castor3D::Context::RenderDepthCube ( Castor::Size const &  p_size,
TextureLayout const &  p_texture,
uint32_t  p_index 
)
inline

Rend la couche voulue du tableau de textures cube de profondeur donné dans le tampon d'image actuellement activé en dessin.

Paramètres
[in]p_sizeLa taille du viewport de rendu.
[in]p_textureLa texture.
[in]p_indexL'index de la couche.

Références RenderDepth().

+ Voici le graphe d'appel pour cette fonction :

◆ RenderTexture() [1/6]

C3D_API void Castor3D::Context::RenderTexture ( Castor::Position const &  p_position,
Castor::Size const &  p_size,
TextureLayout const &  p_texture,
RenderPipeline p_pipeline,
UniformBuffer p_matrixUbo 
)

Dessine la texture 2D donnée.

Paramètres
[in]p_positionLa position du viewport de rendu.
[in]p_sizeLa taille du viewport de rendu.
[in]p_textureLa texture.
[in]p_pipelineLe pipeline utilisé pour dessiner la texture.
[in]p_matrixUboLe tampon d'uniformes recevant les matrices.

Référencé par RenderTexture().

+ Voici le graphe des appelants de cette fonction :

◆ RenderTexture() [2/6]

C3D_API void Castor3D::Context::RenderTexture ( Castor::Position const &  p_position,
Castor::Size const &  p_size,
TextureLayout const &  p_texture 
)

Rend la texture 2D donnée dans le tampon d'image actuellement activé en dessin.

Paramètres
[in]p_positionLa position du viewport de rendu.
[in]p_sizeLa taille du viewport de rendu.
[in]p_textureLa texture.

◆ RenderTexture() [3/6]

C3D_API void Castor3D::Context::RenderTexture ( Castor::Position const &  p_position,
Castor::Size const &  p_size,
TextureLayout const &  p_texture,
uint32_t  p_index 
)

Rend la couche voulue du tableau de textures 2D donné dans le tampon d'image actuellement activé en dessin.

Paramètres
[in]p_positionLa position du viewport de rendu.
[in]p_sizeLa taille du viewport de rendu.
[in]p_textureLa texture.
[in]p_indexL'index de la couche.

◆ RenderTexture() [4/6]

void Castor3D::Context::RenderTexture ( Castor::Size const &  p_size,
TextureLayout const &  p_texture,
RenderPipeline p_pipeline,
UniformBuffer p_matrixUbo 
)
inline

Dessine la texture 2D donnée.

Paramètres
[in]p_sizeLa taille du viewport de rendu.
[in]p_textureLa texture.
[in]p_pipelineLe pipeline utilisé pour dessiner la texture.
[in]p_matrixUboLe tampon d'uniformes recevant les matrices.

Références RenderTexture().

+ Voici le graphe d'appel pour cette fonction :

◆ RenderTexture() [5/6]

void Castor3D::Context::RenderTexture ( Castor::Size const &  p_size,
TextureLayout const &  p_texture 
)
inline

Rend la texture 2D donnée dans le tampon d'image actuellement activé en dessin.

Paramètres
[in]p_sizeLa taille du viewport de rendu.
[in]p_textureLa texture.

Références RenderTexture().

+ Voici le graphe d'appel pour cette fonction :

◆ RenderTexture() [6/6]

void Castor3D::Context::RenderTexture ( Castor::Size const &  p_size,
TextureLayout const &  p_texture,
uint32_t  p_index 
)
inline

Rend la couche voulue du tableau de textures 2D donné dans le tampon d'image actuellement activé en dessin.

Paramètres
[in]p_sizeLa taille du viewport de rendu.
[in]p_textureLa texture.
[in]p_indexL'index de la couche.

Références RenderTexture().

+ Voici le graphe d'appel pour cette fonction :

◆ RenderTextureCube() [1/2]

C3D_API void Castor3D::Context::RenderTextureCube ( Castor::Size const &  p_size,
TextureLayout const &  p_texture 
)

Rend la texture cube donnée dans le tampon d'image actuellement activé en dessin.

Paramètres
[in]p_sizeLa taille du viewport de rendu.
[in]p_textureLa texture.

◆ RenderTextureCube() [2/2]

C3D_API void Castor3D::Context::RenderTextureCube ( Castor::Size const &  p_size,
TextureLayout const &  p_texture,
uint32_t  p_index 
)

Rend la couche voulue du tableau de textures cube donné dans le tampon d'image actuellement activé en dessin.

Paramètres
[in]p_sizeLa taille du viewport de rendu.
[in]p_textureLa texture.
[in]p_indexL'index de la couche.

◆ SetCurrent()

C3D_API void Castor3D::Context::SetCurrent ( )

Définit le contexte pour être celui de rendu actuel.

◆ SetMultiSampling()

void Castor3D::Context::SetMultiSampling ( bool  p_value)
inline

Définit le statut du multisampling.

Paramètres
[in]p_valueLe statut

Références m_bMultiSampling.

◆ SwapBuffers()

C3D_API void Castor3D::Context::SwapBuffers ( )

Echange les buffers de rendu.

Documentation des données membres

◆ m_bMultiSampling

bool Castor3D::Context::m_bMultiSampling
protected

Dit si le contexte est actuellement configuré pour utiliser le multisampling.

Référencé par IsMultiSampling(), et SetMultiSampling().

◆ m_colour

RenderColourToTexture Castor3D::Context::m_colour
protected

Le pipeline utilisé pour le rendu d'une texture dans le tampon d'image actuellement activé en dessin.

◆ m_colourCube

RenderColourCubeToTexture Castor3D::Context::m_colourCube
protected

Le pipeline utilisé pour le rendu d'une texture dans le tampon d'image actuellement activé en dessin.

◆ m_colourLayer

RenderColourLayerToTexture Castor3D::Context::m_colourLayer
protected

Le pipeline utilisé pour le rendu d'une couche d'un tableau de textures dans le tampon d'image actuellement activé en dessin.

◆ m_colourLayerCube

RenderColourLayerCubeToTexture Castor3D::Context::m_colourLayerCube
protected

Le pipeline utilisé pour le rendu d'une couche d'une texture cube dans le tampon d'image actuellement activé en dessin.

◆ m_cube

RenderColourToCube Castor3D::Context::m_cube
protected

Le pipeline utilisé pour le rendu d'une texture cube dans le tampon d'image actuellement activé en dessin.

◆ m_depth

RenderDepthToTexture Castor3D::Context::m_depth
protected

Le pipeline utilisé pour le rendu d'une texture de profondeur dans le tampon d'image actuellement activé en dessin.

◆ m_depthCube

RenderDepthCubeToTexture Castor3D::Context::m_depthCube
protected

Le pipeline utilisé pour le rendu d'une texture cube de profondeur dans le tampon d'image actuellement activé en dessin.

◆ m_depthLayer

RenderDepthLayerToTexture Castor3D::Context::m_depthLayer
protected

Le pipeline utilisé pour le rendu d'une couche d'un tableau de textures de profondeur dans le tampon d'image actuellement activé en dessin.

◆ m_depthLayerCube

RenderDepthLayerCubeToTexture Castor3D::Context::m_depthLayerCube
protected

Le pipeline utilisé pour le rendu d'une couche d'une texture cube de profondeur dans le tampon d'image actuellement activé en dessin.

◆ m_initialised

bool Castor3D::Context::m_initialised
protected

Dit si le contexte est initialisé.

Référencé par IsInitialised().

◆ m_matrixUbo

UniformBuffer Castor3D::Context::m_matrixUbo
protected

Le tampon d'uniformes contenant les données de matrices.

◆ m_queryIndex

uint32_t Castor3D::Context::m_queryIndex = 0
protected

L'index de la requête active.

◆ m_timerQuery

std::array< GpuQueryUPtr, 2 > Castor3D::Context::m_timerQuery
protected

Les requêtes GPU de temps écoulé.

◆ m_window

RenderWindow* Castor3D::Context::m_window
protected

RenderWindow associée à ce contexte.

Référencé par GetWindow().


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