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::RenderLoopabstract

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

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

Fonctions membres publiques

C3D_API RenderLoop (Engine &p_engine, uint32_t p_wantedFPS, bool p_isAsync)
 Constructeur. Plus de détails...
 
virtual C3D_API ~RenderLoop ()
 Destructeur. Plus de détails...
 
C3D_API void Cleanup ()
 Nettoie la boucle de rendu. Plus de détails...
 
C3D_API void CreateContext (RenderWindow &p_window)
 Crée un contexte de rendu. Plus de détails...
 
C3D_API void ShowDebugOverlays (bool p_show)
 Affiche ou cache les incrustations de débogage. Plus de détails...
 
virtual C3D_API void UpdateVSync (bool p_enable)
 Met à jour le statut de synchronisation verticale. Plus de détails...
 
virtual C3D_API void StartRendering ()=0
 Commence le rendu threadé. Plus de détails...
 
virtual C3D_API void RenderSyncFrame ()=0
 Rend une image, uniquement hors de la boucle de rendu. Plus de détails...
 
virtual C3D_API void Pause ()=0
 Met la boucle de rendu en pause. Plus de détails...
 
virtual C3D_API void Resume ()=0
 Redémarre la boucle de rendu. Plus de détails...
 
virtual C3D_API void EndRendering ()=0
 Termine le rendu, nettoie le moteur. Plus de détails...
 
std::chrono::milliseconds GetFrameTime ()
 
uint32_t GetWantedFps ()
 
bool HasDebugOverlays () const
 

Fonctions membres protégées

C3D_API ContextSPtr DoCreateContext (RenderWindow &p_window)
 Demande la création du contexte de rendu. Plus de détails...
 
C3D_API void DoRenderFrame ()
 Commence le rendu threadé. Plus de détails...
 
virtual C3D_API ContextSPtr DoCreateMainContext (RenderWindow &p_window)=0
 Demande la création du contexte de rendu principal. Plus de détails...
 

Attributs protégés

RenderSystemm_renderSystem
 
uint32_t m_wantedFPS
 
std::chrono::milliseconds m_frameTime
 
std::unique_ptr< DebugOverlaysm_debugOverlays
 
Castor::ThreadPool m_queueUpdater
 

Description détaillée

Classe de base d'une boucle de rendu.

Auteur
Sylvain DOREMUS
Date
14/10/2015
Version
0.8.0

Documentation des constructeurs et destructeur

◆ RenderLoop()

C3D_API Castor3D::RenderLoop::RenderLoop ( Engine p_engine,
uint32_t  p_wantedFPS,
bool  p_isAsync 
)

Constructeur.

Paramètres
[in]p_engineLe moteur.
[in]p_wantedFPSLe nombre voulu du FPS.
[in]p_isAsyncDit si la boucle de rendu est asynchrone.

◆ ~RenderLoop()

virtual C3D_API Castor3D::RenderLoop::~RenderLoop ( )
virtual

Destructeur.

Documentation des fonctions membres

◆ Cleanup()

C3D_API void Castor3D::RenderLoop::Cleanup ( )

Nettoie la boucle de rendu.

◆ CreateContext()

C3D_API void Castor3D::RenderLoop::CreateContext ( RenderWindow p_window)

Crée un contexte de rendu.

Remarques
Si le contexte principal n'a pas encore été créé, le premier contexte créé deviendra le contexte principal. Pour la boucles de rendu asynchrone, cela signifie que le thread appelant cette fonction sera sans contexte associé, prévenant l'appel de RenderSyncFrame.
Paramètres
[in]p_windowLa fenêtre de rendu utilisée pour initialiser le contexte de rendu, recevra le contexte.

◆ DoCreateContext()

C3D_API ContextSPtr Castor3D::RenderLoop::DoCreateContext ( RenderWindow p_window)
protected

Demande la création du contexte de rendu.

Paramètres
[in]p_windowLa fenêtre de rendu utilisée pour initialiser le contexte de rendu, recevra le contexte.
Renvoie
Le contexte créé, ou l'existant.

Référencé par HasDebugOverlays().

+ Voici le graphe des appelants de cette fonction :

◆ DoCreateMainContext()

virtual C3D_API ContextSPtr Castor3D::RenderLoop::DoCreateMainContext ( RenderWindow p_window)
protectedpure virtual

Demande la création du contexte de rendu principal.

Paramètres
[in]p_windowLa fenêtre de rendu utilisée pour initialiser le contexte de rendu, recevra le contexte.

Référencé par HasDebugOverlays().

+ Voici le graphe des appelants de cette fonction :

◆ DoRenderFrame()

C3D_API void Castor3D::RenderLoop::DoRenderFrame ( )
protected

Commence le rendu threadé.

Référencé par HasDebugOverlays().

+ Voici le graphe des appelants de cette fonction :

◆ EndRendering()

virtual C3D_API void Castor3D::RenderLoop::EndRendering ( )
pure virtual

Termine le rendu, nettoie le moteur.

Remarques
Arrête la boucle de rendu threadé, si elle existe.

Implémenté dans Castor3D::RenderLoopAsync, et Castor3D::RenderLoopSync.

◆ GetFrameTime()

std::chrono::milliseconds Castor3D::RenderLoop::GetFrameTime ( )
inline
Renvoie
Le temps voulu pour une frame, en millisecondes.

Références m_frameTime.

◆ GetWantedFps()

uint32_t Castor3D::RenderLoop::GetWantedFps ( )
inline
Renvoie
La vitesse de rafraichissement.

Références m_wantedFPS.

◆ HasDebugOverlays()

bool Castor3D::RenderLoop::HasDebugOverlays ( ) const
inline
Renvoie
Le statut d'affichage des incrustations de débogage.

Références C3D_API, DoCreateContext(), DoCreateMainContext(), DoRenderFrame(), et m_debugOverlays.

+ Voici le graphe d'appel pour cette fonction :

◆ Pause()

virtual C3D_API void Castor3D::RenderLoop::Pause ( )
pure virtual

Met la boucle de rendu en pause.

Implémenté dans Castor3D::RenderLoopAsync, et Castor3D::RenderLoopSync.

◆ RenderSyncFrame()

virtual C3D_API void Castor3D::RenderLoop::RenderSyncFrame ( )
pure virtual

Rend une image, uniquement hors de la boucle de rendu.

Implémenté dans Castor3D::RenderLoopAsync, et Castor3D::RenderLoopSync.

◆ Resume()

virtual C3D_API void Castor3D::RenderLoop::Resume ( )
pure virtual

Redémarre la boucle de rendu.

Implémenté dans Castor3D::RenderLoopAsync, et Castor3D::RenderLoopSync.

◆ ShowDebugOverlays()

C3D_API void Castor3D::RenderLoop::ShowDebugOverlays ( bool  p_show)

Affiche ou cache les incrustations de débogage.

Paramètres
[in]p_showLe statut.

◆ StartRendering()

virtual C3D_API void Castor3D::RenderLoop::StartRendering ( )
pure virtual

Commence le rendu threadé.

Implémenté dans Castor3D::RenderLoopAsync, et Castor3D::RenderLoopSync.

◆ UpdateVSync()

virtual C3D_API void Castor3D::RenderLoop::UpdateVSync ( bool  p_enable)
virtual

Met à jour le statut de synchronisation verticale.

Paramètres
[in]p_enableLe statut.

Réimplémentée dans Castor3D::RenderLoopAsync.

Documentation des données membres

◆ m_debugOverlays

std::unique_ptr< DebugOverlays > Castor3D::RenderLoop::m_debugOverlays
protected

Les incrustations de débogage.

Référencé par HasDebugOverlays().

◆ m_frameTime

std::chrono::milliseconds Castor3D::RenderLoop::m_frameTime
protected

Le temps voulu pour une frame.

Référencé par GetFrameTime().

◆ m_queueUpdater

Castor::ThreadPool Castor3D::RenderLoop::m_queueUpdater
protected

Le pool de mise à jour des files de rendu.

◆ m_renderSystem

RenderSystem& Castor3D::RenderLoop::m_renderSystem
protected

Le RenderSystem courant.

◆ m_wantedFPS

uint32_t Castor3D::RenderLoop::m_wantedFPS
protected

Le nombre de FPS souhaité, utilisé en rendu threadé.

Référencé par GetWantedFps().


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