#include <RenderLoop.hpp>
◆ RenderLoop()
C3D_API castor3d::RenderLoop::RenderLoop |
( |
Engine & |
engine, |
|
|
uint32_t |
wantedFPS, |
|
|
bool |
isAsync |
|
) |
| |
Constructeur.
- Paramètres
-
[in] | engine | Le moteur. |
[in] | wantedFPS | Le nombre voulu du FPS. |
[in] | isAsync | Dit si la boucle de rendu est asynchrone. |
◆ ~RenderLoop()
virtual C3D_API castor3d::RenderLoop::~RenderLoop |
( |
| ) |
|
|
virtual |
◆ beginRendering()
virtual C3D_API void castor3d::RenderLoop::beginRendering |
( |
| ) |
|
|
pure virtual |
◆ cleanup()
C3D_API void castor3d::RenderLoop::cleanup |
( |
| ) |
|
Nettoie la boucle de rendu.
◆ doRenderFrame()
C3D_API void castor3d::RenderLoop::doRenderFrame |
( |
castor::Milliseconds |
tslf = 0_ms | ) |
|
|
protected |
Commence le rendu threadé.
- Paramètres
-
[in] | tslf | Le temps écoulé depuis la dernière frame. |
◆ dumpFrameTimes()
Le temps moyen pour une frame, en nanosecondes.
◆ enableVSync()
virtual C3D_API void castor3d::RenderLoop::enableVSync |
( |
bool |
enable | ) |
|
|
virtual |
◆ endRendering()
virtual C3D_API void castor3d::RenderLoop::endRendering |
( |
| ) |
|
|
pure virtual |
◆ flushEvents()
C3D_API void castor3d::RenderLoop::flushEvents |
( |
| ) |
|
Vide tous les évènements de tous les frame listeners.
◆ getAvgFrameTime()
C3D_API castor::Nanoseconds castor3d::RenderLoop::getAvgFrameTime |
( |
| ) |
const |
- Renvoie
- Le temps moyen pour une frame, en nanosecondes.
◆ getFrameTime()
castor::Milliseconds castor3d::RenderLoop::getFrameTime |
( |
| ) |
const |
|
inline |
- Renvoie
- Le temps voulu pour une frame, en millisecondes.
Références m_frameTime.
◆ getLastFrameTime()
castor::Microseconds castor3d::RenderLoop::getLastFrameTime |
( |
| ) |
const |
|
inline |
- Renvoie
- Le temps écoulé pour la dernière frame, en millisecondes.
Références m_lastFrameTime.
◆ getWantedFps()
uint32_t castor3d::RenderLoop::getWantedFps |
( |
| ) |
const |
|
inline |
- Renvoie
- La vitesse de rafraichissement.
Références m_wantedFPS.
◆ hasDebugOverlays()
C3D_API bool castor3d::RenderLoop::hasDebugOverlays |
( |
| ) |
const |
- Renvoie
- Le statut d'affichage des incrustations de débogage.
◆ pause()
virtual C3D_API void castor3d::RenderLoop::pause |
( |
| ) |
|
|
pure virtual |
◆ registerBuffer()
◆ registerTimer()
C3D_API void castor3d::RenderLoop::registerTimer |
( |
castor::String const & |
category, |
|
|
FramePassTimer & |
timer |
|
) |
| |
Enregistre un timer de passe de rendu.
- Paramètres
-
[in] | category | Le nom de la catégorie du timer. |
[in] | timer | Le timer à enregistrer. |
◆ renderSyncFrame()
virtual C3D_API void castor3d::RenderLoop::renderSyncFrame |
( |
castor::Milliseconds |
tslf = 0_ms | ) |
|
|
pure virtual |
◆ resume()
virtual C3D_API void castor3d::RenderLoop::resume |
( |
| ) |
|
|
pure virtual |
◆ showDebugOverlays()
C3D_API void castor3d::RenderLoop::showDebugOverlays |
( |
bool |
show | ) |
|
Affiche ou cache les incrustations de débogage.
- Paramètres
-
◆ unregisterBuffer()
◆ unregisterTimer()
C3D_API void castor3d::RenderLoop::unregisterTimer |
( |
castor::String const & |
category, |
|
|
FramePassTimer & |
timer |
|
) |
| |
Désenregistre un timer de passe de rendu.
- Paramètres
-
[in] | category | Le nom de la catégorie du timer. |
[in] | timer | Le timer à désenregistrer. |
◆ m_currentUpdate
uint32_t castor3d::RenderLoop::m_currentUpdate { 0u } |
|
protected |
◆ m_debugOverlays
std::unique_ptr< DebugOverlays > castor3d::RenderLoop::m_debugOverlays |
|
protected |
Les incrustations de débogage.
◆ m_debugOverlaysMtx
std::mutex castor3d::RenderLoop::m_debugOverlaysMtx |
|
protected |
◆ m_frameTime
castor::Milliseconds castor3d::RenderLoop::m_frameTime |
|
protected |
◆ m_lastFrameTime
std::atomic< castor::Microseconds > castor3d::RenderLoop::m_lastFrameTime |
|
protected |
◆ m_renderSystem
◆ m_toWait
crg::SemaphoreWaitArray castor3d::RenderLoop::m_toWait |
|
protected |
◆ m_uploadResources
◆ m_wantedFPS
uint32_t castor3d::RenderLoop::m_wantedFPS |
|
protected |
Le nombre de FPS souhaité, utilisé en rendu threadé.
Référencé par getWantedFps().
◆ UnlimitedFPS
constexpr uint32_t castor3d::RenderLoop::UnlimitedFPS = 0xFFFFFFFFu |
|
staticconstexpr |
La documentation de cette classe a été générée à partir du fichier suivant :