Castor3D 0.12.0
Multiplatform 3D engine
Fonctions membres publiques | Liste de tous les membres
Référence de la classe castor3d::RenderLoopAsync

#include <RenderLoopAsync.hpp>

Graphe d'héritage de castor3d::RenderLoopAsync:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::RenderLoopAsync:
Collaboration graph
[légende]

Fonctions membres publiques

C3D_API RenderLoopAsync (Engine &engine, uint32_t wantedFPS)
 Constructeur. Plus de détails...
 
C3D_API ~RenderLoopAsync () override
 Destructeur. Plus de détails...
 
C3D_API bool isRendering () const
 Récupère le statut de début de rendu. Plus de détails...
 
C3D_API bool isPaused () const
 Récupère le statut de rendu en pause. Plus de détails...
 
C3D_API bool isInterrupted () const
 Thread-safe. Plus de détails...
 
C3D_API bool isEnded () const
 Récupère le statut de fin de la boucle de rendu. Plus de détails...
 
C3D_API void enableVSync (bool enable) override
 Met à jour le statut de synchronisation verticale. Plus de détails...
 
C3D_API void beginRendering () override
 Commence le rendu threadé. Plus de détails...
 
C3D_API void renderSyncFrame (castor::Milliseconds tslf) override
 Rend une image, uniquement hors de la boucle de rendu. Plus de détails...
 
C3D_API void pause () override
 Met la boucle de rendu en pause. Plus de détails...
 
C3D_API void resume () override
 Redémarre la boucle de rendu. Plus de détails...
 
C3D_API void endRendering () override
 Termine le rendu, nettoie le moteur. Plus de détails...
 
- Fonctions membres publiques hérités de castor3d::RenderLoop
C3D_API RenderLoop (Engine &engine, uint32_t wantedFPS, bool 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 showDebugOverlays (bool show)
 Affiche ou cache les incrustations de débogage. Plus de détails...
 
virtual C3D_API void enableVSync (bool 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 uint32_t registerTimer (castor::String const &category, FramePassTimer &timer)
 Enregistre un timer de passe de rendu. Plus de détails...
 
C3D_API void unregisterTimer (castor::String const &category, FramePassTimer &timer)
 Désenregistre un timer de passe de rendu. Plus de détails...
 
C3D_API void registerBuffer (ShaderBuffer const &buffer)
 Enregistre un ShaderBuffer. Plus de détails...
 
C3D_API void unregisterBuffer (ShaderBuffer const &buffer)
 Désenregistre un ShaderBuffer. Plus de détails...
 
C3D_API bool hasDebugOverlays () const
 
C3D_API void dumpFrameTimes (Parameters &params) const
 Le temps moyen pour une frame, en nanosecondes. Plus de détails...
 
C3D_API castor::Nanoseconds getAvgFrameTime () const
 
virtual C3D_API void beginRendering ()=0
 Commence le rendu threadé. Plus de détails...
 
virtual C3D_API void renderSyncFrame (castor::Milliseconds tslf=0_ms)=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 () const
 
uint32_t getWantedFps () const
 
castor::Microseconds getLastFrameTime () const
 

Membres hérités additionnels

- Attributs publics statiques hérités de castor3d::RenderLoop
static constexpr uint32_t UnlimitedFPS = 0xFFFFFFFFu
 
- Fonctions membres protégées hérités de castor3d::RenderLoop
C3D_API void doRenderFrame (castor::Milliseconds tslf=0_ms)
 Commence le rendu threadé. Plus de détails...
 
- Attributs protégés hérités de castor3d::RenderLoop
RenderSystemm_renderSystem
 
uint32_t m_wantedFPS
 
castor::Milliseconds m_frameTime
 
std::atomic< castor::Microseconds > m_lastFrameTime
 
std::unique_ptr< DebugOverlaysm_debugOverlays
 
std::mutex m_debugOverlaysMtx
 
std::array< UploadResources, 2u > m_uploadResources
 
uint32_t m_currentUpdate { 0u }
 
crg::SemaphoreWaitArray m_toWait
 

Documentation des constructeurs et destructeur

◆ RenderLoopAsync()

C3D_API castor3d::RenderLoopAsync::RenderLoopAsync ( Engine engine,
uint32_t  wantedFPS 
)

Constructeur.

Paramètres
[in]engineLe moteur.
[in]wantedFPSLe nombre voulu du FPS.

◆ ~RenderLoopAsync()

C3D_API castor3d::RenderLoopAsync::~RenderLoopAsync ( )
override

Destructeur.

Documentation des fonctions membres

◆ beginRendering()

C3D_API void castor3d::RenderLoopAsync::beginRendering ( )
overridevirtual

Commence le rendu threadé.

Implémente castor3d::RenderLoop.

◆ enableVSync()

C3D_API void castor3d::RenderLoopAsync::enableVSync ( bool  enable)
overridevirtual

Met à jour le statut de synchronisation verticale.

Paramètres
[in]enableLe statut.

Réimplémentée à partir de castor3d::RenderLoop.

◆ endRendering()

C3D_API void castor3d::RenderLoopAsync::endRendering ( )
overridevirtual

Termine le rendu, nettoie le moteur.

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

Implémente castor3d::RenderLoop.

◆ isEnded()

C3D_API bool castor3d::RenderLoopAsync::isEnded ( ) const

Récupère le statut de fin de la boucle de rendu.

Remarques
Thread-safe.
Renvoie
true si créé.

◆ isInterrupted()

C3D_API bool castor3d::RenderLoopAsync::isInterrupted ( ) const

Thread-safe.

Renvoie
true si la boucle de rendu est interrompue.

◆ isPaused()

C3D_API bool castor3d::RenderLoopAsync::isPaused ( ) const

Récupère le statut de rendu en pause.

Remarques
Thread-safe.
Renvoie
true si en pause.

◆ isRendering()

C3D_API bool castor3d::RenderLoopAsync::isRendering ( ) const

Récupère le statut de début de rendu.

Remarques
Thread-safe.
Renvoie
true si démarré.

◆ pause()

C3D_API void castor3d::RenderLoopAsync::pause ( )
overridevirtual

Met la boucle de rendu en pause.

Implémente castor3d::RenderLoop.

◆ renderSyncFrame()

C3D_API void castor3d::RenderLoopAsync::renderSyncFrame ( castor::Milliseconds  tslf)
overridevirtual

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

Paramètres
[in]tslfLe temps écoulé depuis la dernière frame.

Implémente castor3d::RenderLoop.

◆ resume()

C3D_API void castor3d::RenderLoopAsync::resume ( )
overridevirtual

Redémarre la boucle de rendu.

Implémente castor3d::RenderLoop.


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