Castor3D
..
|
Classe de base d'une boucle de rendu. Plus de détails...
Fonctions membres publiques | |
C3D_API | RenderLoop (Engine &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... | |
C3D_API void | flushEvents () |
Vide tous les évènements de tous les frame listeners. Plus de détails... | |
C3D_API void | registerTimer (RenderPassTimer &timer) |
Enregistre un timer de passe de rendu. Plus de détails... | |
C3D_API void | unregisterTimer (RenderPassTimer &timer) |
Désenregistre un timer de passe de rendu. Plus de détails... | |
virtual C3D_API void | beginRendering ()=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... | |
castor::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 | |
RenderSystem & | m_renderSystem |
uint32_t | m_wantedFPS |
castor::Milliseconds | m_frameTime |
std::unique_ptr< DebugOverlays > | m_debugOverlays |
castor::ThreadPool | m_queueUpdater |
Classe de base d'une boucle de rendu.
Constructeur.
[in] | engine | Le moteur. |
[in] | p_wantedFPS | Le nombre voulu du FPS. |
[in] | p_isAsync | Dit si la boucle de rendu est asynchrone. |
|
virtual |
Destructeur.
|
pure virtual |
Commence le rendu threadé.
Implémenté dans castor3d::RenderLoopAsync, et castor3d::RenderLoopSync.
C3D_API void castor3d::RenderLoop::cleanup | ( | ) |
Nettoie la boucle de rendu.
C3D_API void castor3d::RenderLoop::createContext | ( | RenderWindow & | p_window | ) |
Crée un contexte de rendu.
[in] | p_window | La fenêtre de rendu utilisée pour initialiser le contexte de rendu, recevra le contexte. |
|
protected |
Demande la création du contexte de rendu.
[in] | p_window | La fenêtre de rendu utilisée pour initialiser le contexte de rendu, recevra le contexte. |
Référencé par hasDebugOverlays().
|
protectedpure virtual |
Demande la création du contexte de rendu principal.
[in] | p_window | La fenêtre de rendu utilisée pour initialiser le contexte de rendu, recevra le contexte. |
Référencé par hasDebugOverlays().
|
protected |
Commence le rendu threadé.
Référencé par hasDebugOverlays().
|
pure virtual |
Termine le rendu, nettoie le moteur.
Implémenté dans castor3d::RenderLoopAsync, et castor3d::RenderLoopSync.
C3D_API void castor3d::RenderLoop::flushEvents | ( | ) |
Vide tous les évènements de tous les frame listeners.
|
inline |
Références m_frameTime.
|
inline |
Références m_wantedFPS.
|
inline |
Références C3D_API, doCreateContext(), doCreateMainContext(), doRenderFrame(), et m_debugOverlays.
|
pure virtual |
Met la boucle de rendu en pause.
Implémenté dans castor3d::RenderLoopAsync, et castor3d::RenderLoopSync.
C3D_API void castor3d::RenderLoop::registerTimer | ( | RenderPassTimer & | timer | ) |
Enregistre un timer de passe de rendu.
[in] | timer | Le timer à enregistrer. |
|
pure virtual |
Rend une image, uniquement hors de la boucle de rendu.
Implémenté dans castor3d::RenderLoopAsync, et castor3d::RenderLoopSync.
|
pure virtual |
Redémarre la boucle de rendu.
Implémenté dans castor3d::RenderLoopAsync, et castor3d::RenderLoopSync.
C3D_API void castor3d::RenderLoop::showDebugOverlays | ( | bool | p_show | ) |
Affiche ou cache les incrustations de débogage.
[in] | p_show | Le statut. |
C3D_API void castor3d::RenderLoop::unregisterTimer | ( | RenderPassTimer & | timer | ) |
Désenregistre un timer de passe de rendu.
[in] | timer | Le timer à désenregistrer. |
|
virtual |
Met à jour le statut de synchronisation verticale.
[in] | p_enable | Le statut. |
Réimplémentée dans castor3d::RenderLoopAsync.
|
protected |
Les incrustations de débogage.
Référencé par hasDebugOverlays().
|
protected |
Le temps voulu pour une frame.
Référencé par getFrameTime().
|
protected |
Le pool de mise à jour des files de rendu.
|
protected |
Le RenderSystem courant.
|
protected |
Le nombre de FPS souhaité, utilisé en rendu threadé.
Référencé par getWantedFps().