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

#include <Engine.hpp>

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

Fonctions membres publiques

C3D_API Engine (castor::String const &appName, Version const &appVersion, bool enableValidation)
 Constructeur. Plus de détails...
 
C3D_API Engine (castor::String const &appName, Version const &appVersion, bool enableValidation, castor::LoggerInstance &logger)
 Constructeur. Plus de détails...
 
C3D_API ~Engine ()
 Destructeur. Plus de détails...
 
C3D_API void initialise (uint32_t wantedFPS=100, bool threaded=false)
 Fonction d'initialisation, définit le frame rate voulu. Plus de détails...
 
C3D_API void cleanup ()
 Fonction de nettoyage, détruit tout ce qui a été créé depuis le début. Plus de détails...
 
C3D_API bool loadRenderer (castor::String const &type)
 Charge un plug-in de rendu, selon le type de rendu. Plus de détails...
 
C3D_API void loadRenderer (Renderer renderer)
 Charge un plug-in de rendu, selon le type de rendu. Plus de détails...
 
C3D_API CpuFrameEventpostEvent (CpuFrameEventUPtr event)
 Ajoute un évènement de frame au frame listener par défaut. Plus de détails...
 
C3D_API void sendEvent (GpuFrameEventUPtr event)
 Si un device est actif, exécute l'évènement donné, sinon il est ajouté au frame listener par défaut. Plus de détails...
 
C3D_API GpuFrameEventpostEvent (GpuFrameEventUPtr event)
 Ajoute un évènement de frame au frame listener par défaut. Plus de détails...
 
C3D_API bool fireMouseMove (castor::Position const &position)
 
C3D_API void update (CpuUpdater &updater)
 Met à jour le moteur, au niveau CPU. Plus de détails...
 
C3D_API void update (GpuUpdater &updater)
 Met à jour le moteur, au niveau GPU. Plus de détails...
 
C3D_API void upload (ashes::CommandBuffer const &commandBuffer)
 Met à jour les buffers. Plus de détails...
 
C3D_API bool isCleaned ()
 Récupère le statut de nettoyage. Plus de détails...
 
C3D_API void setCleaned ()
 Dit que le moteur est nettoyé Plus de détails...
 
C3D_API void pushCpuJob (castor::AsyncJobQueue::Job job)
 Met dans la file la tâche CPU donnée. Plus de détails...
 
C3D_API void pushGpuJob (std::function< void(RenderDevice const &, QueueData const &) > job)
 Met dans la file la tâche GPU donnée. Plus de détails...
 
C3D_API castor::RgbaColour getNextRainbowColour () const
 Récupère une couleur issue d'un itérateur de couleurs d'arc-en-ciel. Plus de détails...
 
C3D_API void registerWindow (RenderWindow &window)
 Enregistre une RenderWindow. Plus de détails...
 
C3D_API void unregisterWindow (RenderWindow const &window)
 Désenregistre une RenderWindow. Plus de détails...
 
C3D_API void registerParsers (castor::String const &name, castor::AttributeParsers const &parsers, castor::StrUInt32Map const &sections, castor::UserContextCreator contextCreator)
 Enregistre des analyseurs supplémentaires pour SceneFileParser. Plus de détails...
 
C3D_API void unregisterParsers (castor::String const &name)
 Désenregistre des analyseurs pour SceneFileParser. 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 registerLightingModel (castor::String const &name, shader::LightingModelCreator creator)
 Enregistre un Lighting Model. Plus de détails...
 
C3D_API void unregisterLightingModel (castor::String const &name)
 Désenregistre un Lighting Model. 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 void registerPassType (castor::String const &type, PassRegisterInfo info)
 Enregistre un type de passe de matériau. Plus de détails...
 
C3D_API void unregisterPassType (castor::String const &type)
 Désenregistre un type de passe de matériau. Plus de détails...
 
C3D_API void registerRenderPassType (castor::String const &renderPassType, castor::UniquePtr< RenderPassRegisterInfo > info)
 Enregistre un type de passe de rendu de scène, pour le type de passe de matériau donné. Plus de détails...
 
C3D_API void setRenderPassTypeConfiguration (castor::String const &renderPassType, Parameters parameters)
 Enregistre les paramètres de configuration d'un type de passe de rendu de scène. Plus de détails...
 
C3D_API Parameters getRenderPassTypeConfiguration (castor::String const &renderPassType) const
 Récupère les paramètres de configuration d'un type de passe de rendu de scène. Plus de détails...
 
C3D_API RenderPassTypeID getRenderPassTypeID (castor::String const &renderPassType) const
 Récupère l'ID correspondant au nom de type de passe de rendu de scène donné. Plus de détails...
 
C3D_API RenderPassRegisterInfogetRenderPassInfo (castor::String const &renderPassType) const
 Récupère les informations de création d'un type de passe de rendu de scène. Plus de détails...
 
C3D_API std::vector< RenderPassRegisterInfo * > getRenderPassInfos (TechniquePassEvent event) const
 Récupère les informations de création des types de passes de rendu de scène. Plus de détails...
 
C3D_API void unregisterRenderPassType (castor::String const &renderPassType)
 Désenregistre un type de passe de rendu de scène. Plus de détails...
 
C3D_API castor::String getPassesName () const
 
C3D_API ToneMappingFactory const & getToneMappingFactory () const
 
C3D_API ToneMappingFactorygetToneMappingFactory ()
 
C3D_API PostEffectFactory const & getPostEffectFactory () const
 
C3D_API PostEffectFactorygetPostEffectFactory ()
 
castor::String const & getAppName () const
 
Version const & getAppVersion () const
 
castor::ImageCache const & getImageCache () const
 
castor::ImageCache & getImageCache ()
 
castor::FontCache const & getFontCache () const
 
castor::FontCache & getFontCache ()
 
UserInputListenerSPtr getUserInputListener ()
 
RenderSystemgetRenderSystem () const
 
auto getDefaultSampler () const
 
auto getLightsSampler () const
 
std::map< castor::String, castor::AdditionalParsers > const & getAdditionalParsers () const
 
Version const & getVersion () const
 
bool isValidationEnabled () const
 
void enableUpdateOptimisations (bool value)
 
bool areUpdateOptimisationsEnabled () const
 
bool isApiTraceEnabled () const
 
bool hasRenderLoop () const
 
RenderLoopgetRenderLoop () const
 
bool isThreaded ()
 
MeshFactorygetMeshFactory () const
 
PassFactorygetPassFactory () const
 
MeshSubdividerFactorygetSubdividerFactory () const
 
MeshImporterFactorygetImporterFactory () const
 
ParticleFactorygetParticleFactory () const
 
castor::CpuInformations const & getCpuInformations () const
 
PassTypeID getPassesType () const
 
castor::ImageLoader const & getImageLoader () const
 
castor::ImageLoader & getImageLoader ()
 
castor::ImageWriter const & getImageWriter () const
 
ashes::RendererList const & getRenderersList () const
 
castor::LoggerInstance & getLogger () const
 
uint32_t getLpvGridSize () const
 
uint32_t getMaxImageSize () const
 
std::map< castor::String, RenderWindow * > const & getRenderWindows () const
 
crg::ResourceHandler & getGraphResourceHandler ()
 
shader::LightingModelFactory const & getLightingModelFactory () const
 
SceneRPtr getLoadingScene () const
 
C3D_API void setLoadingScene (SceneUPtr scene)
 
void setUserInputListener (UserInputListenerSPtr listener)
 
void setPassesType (PassTypeID type)
 
void setMaxImageSize (uint32_t size)
 
void setLpvGridSize (uint32_t size)
 

Fonctions membres publiques statiques

static C3D_API castor::Path getPluginsDirectory ()
 Récupère le chemin des plug-ins. Plus de détails...
 
static C3D_API castor::Path getEngineDirectory ()
 donne le répertoire du Castor Plus de détails...
 
static C3D_API castor::Path getDataDirectory ()
 Récupère le chemin des données. Plus de détails...
 
static C3D_API std::locale const & getLocale ()
 Récupère le chemin des données. Plus de détails...
 

Documentation des constructeurs et destructeur

◆ Engine() [1/2]

C3D_API castor3d::Engine::Engine ( castor::String const &  appName,
Version const &  appVersion,
bool  enableValidation 
)

Constructeur.

Paramètres
[in]appNameLe nom de l'application.
[in]appVersionLa version de l'application.
[in]enableValidationtrue pour activer la validation via l'API de rendu.

◆ Engine() [2/2]

C3D_API castor3d::Engine::Engine ( castor::String const &  appName,
Version const &  appVersion,
bool  enableValidation,
castor::LoggerInstance &  logger 
)

Constructeur.

Paramètres
[in]appNameLe nom de l'application.
[in]appVersionLa version de l'application.
[in]enableValidationtrue pour activer la validation via l'API de rendu.
[in]loggerL'instance de logger.

◆ ~Engine()

C3D_API castor3d::Engine::~Engine ( )

Destructeur.

Documentation des fonctions membres

◆ areUpdateOptimisationsEnabled()

bool castor3d::Engine::areUpdateOptimisationsEnabled ( ) const
inline

◆ cleanup()

C3D_API void castor3d::Engine::cleanup ( )

Fonction de nettoyage, détruit tout ce qui a été créé depuis le début.

Remarques
Détruit aussi les RenderWindows, les seules choses restantes après ça sont le RenderSystem et les plug-ins chargés

◆ enableUpdateOptimisations()

void castor3d::Engine::enableUpdateOptimisations ( bool  value)
inline

◆ fireMouseMove()

C3D_API bool castor3d::Engine::fireMouseMove ( castor::Position const &  position)

◆ getAdditionalParsers()

std::map< castor::String, castor::AdditionalParsers > const & castor3d::Engine::getAdditionalParsers ( ) const
inline

◆ getAppName()

castor::String const & castor3d::Engine::getAppName ( ) const
inline

◆ getAppVersion()

Version const & castor3d::Engine::getAppVersion ( ) const
inline

◆ getCpuInformations()

castor::CpuInformations const & castor3d::Engine::getCpuInformations ( ) const
inline

◆ getDataDirectory()

static C3D_API castor::Path castor3d::Engine::getDataDirectory ( )
static

Récupère le chemin des données.

Renvoie
Le chemin des données

◆ getDefaultSampler()

auto castor3d::Engine::getDefaultSampler ( ) const
inline

◆ getEngineDirectory()

static C3D_API castor::Path castor3d::Engine::getEngineDirectory ( )
static

donne le répertoire du Castor

Renvoie
Le répertoire

◆ getFontCache() [1/2]

castor::FontCache & castor3d::Engine::getFontCache ( )
inline

◆ getFontCache() [2/2]

castor::FontCache const & castor3d::Engine::getFontCache ( ) const
inline

◆ getGraphResourceHandler()

crg::ResourceHandler & castor3d::Engine::getGraphResourceHandler ( )
inline

◆ getImageCache() [1/2]

castor::ImageCache & castor3d::Engine::getImageCache ( )
inline

◆ getImageCache() [2/2]

castor::ImageCache const & castor3d::Engine::getImageCache ( ) const
inline

◆ getImageLoader() [1/2]

castor::ImageLoader & castor3d::Engine::getImageLoader ( )
inline

◆ getImageLoader() [2/2]

castor::ImageLoader const & castor3d::Engine::getImageLoader ( ) const
inline

◆ getImageWriter()

castor::ImageWriter const & castor3d::Engine::getImageWriter ( ) const
inline

◆ getImporterFactory()

MeshImporterFactory & castor3d::Engine::getImporterFactory ( ) const
inline

◆ getLightingModelFactory()

shader::LightingModelFactory const & castor3d::Engine::getLightingModelFactory ( ) const
inline

◆ getLightsSampler()

auto castor3d::Engine::getLightsSampler ( ) const
inline

◆ getLoadingScene()

SceneRPtr castor3d::Engine::getLoadingScene ( ) const
inline

◆ getLocale()

static C3D_API std::locale const & castor3d::Engine::getLocale ( )
static

Récupère le chemin des données.

Renvoie
Le chemin des données

◆ getLogger()

castor::LoggerInstance & castor3d::Engine::getLogger ( ) const
inline

◆ getLpvGridSize()

uint32_t castor3d::Engine::getLpvGridSize ( ) const
inline

◆ getMaxImageSize()

uint32_t castor3d::Engine::getMaxImageSize ( ) const
inline

◆ getMeshFactory()

MeshFactory & castor3d::Engine::getMeshFactory ( ) const
inline

◆ getNextRainbowColour()

C3D_API castor::RgbaColour castor3d::Engine::getNextRainbowColour ( ) const

Récupère une couleur issue d'un itérateur de couleurs d'arc-en-ciel.

◆ getParticleFactory()

ParticleFactory & castor3d::Engine::getParticleFactory ( ) const
inline

◆ getPassesName()

C3D_API castor::String castor3d::Engine::getPassesName ( ) const

name Accesseurs.

◆ getPassesType()

PassTypeID castor3d::Engine::getPassesType ( ) const
inline

◆ getPassFactory()

PassFactory & castor3d::Engine::getPassFactory ( ) const
inline

◆ getPluginsDirectory()

static C3D_API castor::Path castor3d::Engine::getPluginsDirectory ( )
static

Récupère le chemin des plug-ins.

Renvoie
Le chemin des plug-ins

◆ getPostEffectFactory() [1/2]

C3D_API PostEffectFactory & castor3d::Engine::getPostEffectFactory ( )

◆ getPostEffectFactory() [2/2]

C3D_API PostEffectFactory const & castor3d::Engine::getPostEffectFactory ( ) const

◆ getRenderersList()

ashes::RendererList const & castor3d::Engine::getRenderersList ( ) const
inline

◆ getRenderLoop()

RenderLoop & castor3d::Engine::getRenderLoop ( ) const
inline

◆ getRenderPassInfo()

C3D_API RenderPassRegisterInfo * castor3d::Engine::getRenderPassInfo ( castor::String const &  renderPassType) const

Récupère les informations de création d'un type de passe de rendu de scène.

Paramètres
[in]renderPassTypeLe nom du type de la passe.

◆ getRenderPassInfos()

C3D_API std::vector< RenderPassRegisterInfo * > castor3d::Engine::getRenderPassInfos ( TechniquePassEvent  event) const

Récupère les informations de création des types de passes de rendu de scène.

Paramètres
[in]eventLe type d'évènement des passes considérées.

◆ getRenderPassTypeConfiguration()

C3D_API Parameters castor3d::Engine::getRenderPassTypeConfiguration ( castor::String const &  renderPassType) const

Récupère les paramètres de configuration d'un type de passe de rendu de scène.

Paramètres
[in]renderPassTypeLe nom du type de la passe.
Renvoie
Les paramètres de configuration de la passe.

◆ getRenderPassTypeID()

C3D_API RenderPassTypeID castor3d::Engine::getRenderPassTypeID ( castor::String const &  renderPassType) const

Récupère l'ID correspondant au nom de type de passe de rendu de scène donné.

Paramètres
[in]renderPassTypeLe nom du type de la passe.

◆ getRenderSystem()

RenderSystem * castor3d::Engine::getRenderSystem ( ) const
inline

◆ getRenderWindows()

std::map< castor::String, RenderWindow * > const & castor3d::Engine::getRenderWindows ( ) const
inline

◆ getSubdividerFactory()

MeshSubdividerFactory & castor3d::Engine::getSubdividerFactory ( ) const
inline

◆ getToneMappingFactory() [1/2]

C3D_API ToneMappingFactory & castor3d::Engine::getToneMappingFactory ( )

◆ getToneMappingFactory() [2/2]

C3D_API ToneMappingFactory const & castor3d::Engine::getToneMappingFactory ( ) const

◆ getUserInputListener()

UserInputListenerSPtr castor3d::Engine::getUserInputListener ( )
inline

◆ getVersion()

Version const & castor3d::Engine::getVersion ( ) const
inline

◆ hasRenderLoop()

bool castor3d::Engine::hasRenderLoop ( ) const
inline

◆ initialise()

C3D_API void castor3d::Engine::initialise ( uint32_t  wantedFPS = 100,
bool  threaded = false 
)

Fonction d'initialisation, définit le frame rate voulu.

Paramètres
[in]wantedFPSLe nombre voulu de FPS
[in]threadedSi false, le rendu ne peut pas être threadé

◆ isApiTraceEnabled()

bool castor3d::Engine::isApiTraceEnabled ( ) const
inline

◆ isCleaned()

C3D_API bool castor3d::Engine::isCleaned ( )

Récupère le statut de nettoyage.

Remarques
Thread-safe
Renvoie
true si nettoyé

◆ isThreaded()

bool castor3d::Engine::isThreaded ( )
inline

◆ isValidationEnabled()

bool castor3d::Engine::isValidationEnabled ( ) const
inline

◆ loadRenderer() [1/2]

C3D_API bool castor3d::Engine::loadRenderer ( castor::String const &  type)

Charge un plug-in de rendu, selon le type de rendu.

Paramètres
[in]typeLe type de renderer.
Renvoie
true si tout s'est bien passé

◆ loadRenderer() [2/2]

C3D_API void castor3d::Engine::loadRenderer ( Renderer  renderer)

Charge un plug-in de rendu, selon le type de rendu.

Paramètres
[in]rendererLe rendere.

◆ postEvent() [1/2]

C3D_API CpuFrameEvent * castor3d::Engine::postEvent ( CpuFrameEventUPtr  event)

Ajoute un évènement de frame au frame listener par défaut.

Paramètres
[in]eventL'évènement

◆ postEvent() [2/2]

C3D_API GpuFrameEvent * castor3d::Engine::postEvent ( GpuFrameEventUPtr  event)

Ajoute un évènement de frame au frame listener par défaut.

Paramètres
[in]eventL'évènement

◆ pushCpuJob()

C3D_API void castor3d::Engine::pushCpuJob ( castor::AsyncJobQueue::Job  job)

Met dans la file la tâche CPU donnée.

Paramètres
[in]jobLe job à exécuter.

◆ pushGpuJob()

C3D_API void castor3d::Engine::pushGpuJob ( std::function< void(RenderDevice const &, QueueData const &) >  job)

Met dans la file la tâche GPU donnée.

Paramètres
[in]jobLe job à exécuter.

◆ registerBuffer()

C3D_API void castor3d::Engine::registerBuffer ( ShaderBuffer const &  buffer)

Enregistre un ShaderBuffer.

Paramètres
[in]bufferLe ShaderBuffer.

◆ registerLightingModel()

C3D_API void castor3d::Engine::registerLightingModel ( castor::String const &  name,
shader::LightingModelCreator  creator 
)

Enregistre un Lighting Model.

Paramètres
[in]nameLe nom du lighing model.
[in]creatorLa fonction dde création du lighting model.

◆ registerParsers()

C3D_API void castor3d::Engine::registerParsers ( castor::String const &  name,
castor::AttributeParsers const &  parsers,
castor::StrUInt32Map const &  sections,
castor::UserContextCreator  contextCreator 
)

Enregistre des analyseurs supplémentaires pour SceneFileParser.

Paramètres
[in]nameLe nom d'enregistrement.
[in]parsersLes analyseurs.
[in]sectionsLes sections.
[in]contextCreatorLa fonction de création de contexte de parser.

◆ registerPassType()

C3D_API void castor3d::Engine::registerPassType ( castor::String const &  type,
PassRegisterInfo  info 
)

Enregistre un type de passe de matériau.

Paramètres
[in]typeLe nom du type de la passe.
[in]infoLes informations de création de la passe.

◆ registerRenderPassType()

C3D_API void castor3d::Engine::registerRenderPassType ( castor::String const &  renderPassType,
castor::UniquePtr< RenderPassRegisterInfo info 
)

Enregistre un type de passe de rendu de scène, pour le type de passe de matériau donné.

Paramètres
[in]renderPassTypeLe nom du type de la passe.
[in]infoLes informations de création de la passe.

◆ registerTimer()

C3D_API uint32_t castor3d::Engine::registerTimer ( castor::String const &  category,
FramePassTimer &  timer 
)

Enregistre un timer de passe de rendu.

Paramètres
[in]categoryLe nom de la catégorie du timer.
[in]timerLe timer à enregistrer.
Renvoie
L'ID de la requête.

◆ registerWindow()

C3D_API void castor3d::Engine::registerWindow ( RenderWindow window)

Enregistre une RenderWindow.

Paramètres
[in]windowLa RenderWindow.

◆ sendEvent()

C3D_API void castor3d::Engine::sendEvent ( GpuFrameEventUPtr  event)

Si un device est actif, exécute l'évènement donné, sinon il est ajouté au frame listener par défaut.

Paramètres
[in]eventL'évènement.

◆ setCleaned()

C3D_API void castor3d::Engine::setCleaned ( )

Dit que le moteur est nettoyé

Remarques
Thread-safe

◆ setLoadingScene()

C3D_API void castor3d::Engine::setLoadingScene ( SceneUPtr  scene)

name Mutateurs.

◆ setLpvGridSize()

void castor3d::Engine::setLpvGridSize ( uint32_t  size)
inline

◆ setMaxImageSize()

void castor3d::Engine::setMaxImageSize ( uint32_t  size)
inline

◆ setPassesType()

void castor3d::Engine::setPassesType ( PassTypeID  type)
inline

◆ setRenderPassTypeConfiguration()

C3D_API void castor3d::Engine::setRenderPassTypeConfiguration ( castor::String const &  renderPassType,
Parameters  parameters 
)

Enregistre les paramètres de configuration d'un type de passe de rendu de scène.

Paramètres
[in]renderPassTypeLe nom du type de la passe.
[in]parametersLes paramètres de configuration de la passe.

◆ setUserInputListener()

void castor3d::Engine::setUserInputListener ( UserInputListenerSPtr  listener)
inline

◆ unregisterBuffer()

C3D_API void castor3d::Engine::unregisterBuffer ( ShaderBuffer const &  buffer)

Désenregistre un ShaderBuffer.

Paramètres
[in]bufferLe ShaderBuffer.

◆ unregisterLightingModel()

C3D_API void castor3d::Engine::unregisterLightingModel ( castor::String const &  name)

Désenregistre un Lighting Model.

Paramètres
[in]nameLe nom du lighing model.

◆ unregisterParsers()

C3D_API void castor3d::Engine::unregisterParsers ( castor::String const &  name)

Désenregistre des analyseurs pour SceneFileParser.

Paramètres
[in]nameLe nom d'enregistrement.

◆ unregisterPassType()

C3D_API void castor3d::Engine::unregisterPassType ( castor::String const &  type)

Désenregistre un type de passe de matériau.

Paramètres
[in]typeLe nom du type de la passe.

◆ unregisterRenderPassType()

C3D_API void castor3d::Engine::unregisterRenderPassType ( castor::String const &  renderPassType)

Désenregistre un type de passe de rendu de scène.

Paramètres
[in]renderPassTypeLe nom du type de la passe.

◆ unregisterTimer()

C3D_API void castor3d::Engine::unregisterTimer ( castor::String const &  category,
FramePassTimer &  timer 
)

Désenregistre un timer de passe de rendu.

Paramètres
[in]categoryLe nom de la catégorie du timer.
[in]timerLe timer à désenregistrer.

◆ unregisterWindow()

C3D_API void castor3d::Engine::unregisterWindow ( RenderWindow const &  window)

Désenregistre une RenderWindow.

Paramètres
[in]windowLa RenderWindow.

◆ update() [1/2]

C3D_API void castor3d::Engine::update ( CpuUpdater updater)

Met à jour le moteur, au niveau CPU.

Paramètres
[in,out]updaterLes données d'update.

◆ update() [2/2]

C3D_API void castor3d::Engine::update ( GpuUpdater updater)

Met à jour le moteur, au niveau GPU.

Paramètres
[in,out]updaterLes données d'update.

◆ upload()

C3D_API void castor3d::Engine::upload ( ashes::CommandBuffer const &  commandBuffer)

Met à jour les buffers.

Paramètres
[in]commandBufferReçoit les commandes d'upload.

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