Castor3D
..
|
Classe contenant le contexte de rendu. Plus de détails...
Fonctions membres publiques | |
C3D_API | Context (RenderSystem &p_renderSystem, bool p_invertFinal) |
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 | RenderTexture (Castor::Size const &p_size, Texture const &p_texture) |
Rend la texture donnée dans le tampon d'image actuellement activé en dessin. Plus de détails... | |
C3D_API void | RenderTexture (Castor::Size const &p_size, Texture const &p_texture, ShaderProgramSPtr p_program) |
Dessine la texture donnée. Plus de détails... | |
virtual C3D_API void | UpdateFullScreen (bool val)=0 |
Change le statut de plein écran. 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... | |
DepthStencilStateSPtr | GetNoDepthState () const |
Récupère le DepthStencilState sans test de profondeur ni écriture dans le tampon de profondeur. Plus de détails... | |
DepthStencilStateSPtr | GetNoDepthWriteState () const |
Récupère le DepthStencilState sans écriture dans le tampon de profondeur. Plus de détails... | |
RenderWindow const & | GetWindow () const |
RenderWindow & | GetWindow () |
Fonctions membres protégées | |
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... | |
C3D_API void | DoRenderTexture (Castor::Size const &p_size, Texture const &p_texture, GeometryBuffersSPtr p_geometryBuffers, ShaderProgramSPtr p_program) |
Dessine la texture donnée. Plus de détails... | |
Attributs protégés | |
RenderWindow * | m_window |
RenderWindow associée à ce contexte. Plus de détails... | |
bool | m_initialised |
Dit si le contexte est initialisé Plus de détails... | |
bool | m_bMultiSampling |
Dit si le contexte est actuellement configuré pour utiliser le multisampling. Plus de détails... | |
ShaderProgramWPtr | m_renderTextureProgram |
Le ShaderProgram utilisé lors du rendu d'un tampon vers un autre. Plus de détails... | |
OneIntFrameVariableSPtr | m_mapDiffuse |
La frame variable de l'image diffuse, dans le shader buffer-to-buffer. Plus de détails... | |
GeometryBuffersSPtr | m_geometryBuffers |
Le GeometryBuffers utilisé lors du dessin d'une texture dans le tampon d'image courant. Plus de détails... | |
Viewport | m_viewport |
Le Viewport utilisé lors du dessin d'une texture dans un tampon d'image. Plus de détails... | |
Castor3D::BufferDeclaration | m_declaration |
Déclaration des éléments d'un vertex. Plus de détails... | |
std::array< Castor3D::BufferElementGroupSPtr, 6 > | m_arrayVertex |
Tableau de vertex (définition du quad) Plus de détails... | |
Castor::real | m_pBuffer [24] |
6 * [2(vertex position) 2(texture coordinates)] Plus de détails... | |
DepthStencilStateSPtr | m_pDsStateNoDepth |
Le DepthStencilState sans test ni écriture de profondeur. Plus de détails... | |
DepthStencilStateSPtr | m_pDsStateNoDepthWrite |
Le DepthStencilState sans écriture de profondeur. Plus de détails... | |
VertexBufferUPtr | m_vertexBuffer |
Le tampon de sommets. Plus de détails... | |
std::array< GpuQuerySPtr, 2 > | m_timerQuery |
Les requêtes GPU de temps écoulé. Plus de détails... | |
uint32_t | m_queryIndex = 0 |
L'index de la requête active. Plus de détails... | |
Classe contenant le contexte de rendu.
C3D_API Castor3D::Context::Context | ( | RenderSystem & | p_renderSystem, |
bool | p_invertFinal | ||
) |
Constructeur.
[in] | p_renderSystem | Le RenderSystem. |
[in] | p_invertFinal | Dit si on inverse l'image du rendu final. |
|
virtual |
Destructeur.
C3D_API void Castor3D::Context::Cleanup | ( | ) |
Nettoie le contexte.
|
protectedpure virtual |
|
protectedpure virtual |
Détruit le contexte sur le GPU.
Référencé par GetWindow().
|
protectedpure virtual |
Définit ce contexte pour ne pas être l'actuel.
Référencé par GetWindow().
|
protectedpure virtual |
Initialise le contexte.
true
si initialisé correctement Référencé par GetWindow().
|
protected |
Dessine la texture donnée.
[in] | p_size | La taille du viewport de rendu. |
[in] | p_texture | La texture. |
[in] | p_geometryBuffers | Les tampons de géométrie utilisés pour dessiner la texture. |
[in] | p_program | Le programme utilisé pour dessiner la texture. |
Référencé par GetWindow().
|
protectedpure virtual |
Définit le contexte pour être celui de rendu actuel.
Référencé par GetWindow().
|
protectedpure virtual |
Echange les buffers de rendu.
Référencé par GetWindow().
C3D_API void Castor3D::Context::EndCurrent | ( | ) |
Définit ce contexte pour ne pas être l'actuel.
|
inline |
Récupère le DepthStencilState sans test de profondeur ni écriture dans le tampon de profondeur.
Références m_pDsStateNoDepth.
|
inline |
Récupère le DepthStencilState sans écriture dans le tampon de profondeur.
Références m_pDsStateNoDepthWrite.
|
inline |
Références m_window.
|
inline |
Références DoCleanup(), DoDestroy(), DoEndCurrent(), DoInitialise(), DoRenderTexture(), DoSetCurrent(), DoSwapBuffers(), et m_window.
C3D_API bool Castor3D::Context::Initialise | ( | RenderWindow * | p_window | ) |
Initialise le contexte.
[in] | p_window | La RenderWindow |
true
si initialisé correctement
|
inline |
Dit si le contexte est initialisé
Références m_initialised.
|
inline |
Dit si le contexte utilise le multisampling.
Références m_bMultiSampling.
C3D_API void Castor3D::Context::RenderTexture | ( | Castor::Size const & | p_size, |
Texture const & | p_texture | ||
) |
Rend la texture donnée dans le tampon d'image actuellement activé en dessin.
[in] | p_size | La taille du viewport de rendu. |
[in] | p_texture | La texture. |
C3D_API void Castor3D::Context::RenderTexture | ( | Castor::Size const & | p_size, |
Texture const & | p_texture, | ||
ShaderProgramSPtr | p_program | ||
) |
Dessine la texture donnée.
[in] | p_size | La taille du viewport de rendu. |
[in] | p_texture | La texture. |
[in] | p_program | Le programme utilisé pour dessiner la texture. |
C3D_API void Castor3D::Context::SetCurrent | ( | ) |
Définit le contexte pour être celui de rendu actuel.
|
inline |
C3D_API void Castor3D::Context::SwapBuffers | ( | ) |
Echange les buffers de rendu.
|
pure virtual |
Change le statut de plein écran.
[in] | val | Le nouveau statut de plein écran |
|
protected |
Tableau de vertex (définition du quad)
|
protected |
Dit si le contexte est actuellement configuré pour utiliser le multisampling.
Référencé par IsMultiSampling(), et SetMultiSampling().
|
protected |
Déclaration des éléments d'un vertex.
|
protected |
Le GeometryBuffers utilisé lors du dessin d'une texture dans le tampon d'image courant.
|
protected |
Dit si le contexte est initialisé
Référencé par IsInitialised().
|
protected |
La frame variable de l'image diffuse, dans le shader buffer-to-buffer.
|
protected |
6 * [2(vertex position) 2(texture coordinates)]
|
protected |
Le DepthStencilState sans test ni écriture de profondeur.
Référencé par GetNoDepthState().
|
protected |
Le DepthStencilState sans écriture de profondeur.
Référencé par GetNoDepthWriteState().
|
protected |
L'index de la requête active.
|
protected |
Le ShaderProgram utilisé lors du rendu d'un tampon vers un autre.
|
protected |
Les requêtes GPU de temps écoulé.
|
protected |
Le tampon de sommets.
|
protected |
Le Viewport utilisé lors du dessin d'une texture dans un tampon d'image.
|
protected |
RenderWindow associée à ce contexte.
Référencé par GetWindow().