Castor3D 0.15.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, bool enableRandom)
 Constructeur.
 
C3D_API Engine (castor::String const &appName, Version const &appVersion, bool enableValidation, bool enableRandom, castor::LoggerInstance &logger)
 Constructeur.
 
C3D_API ~Engine ()
 Destructeur.
 
C3D_API void initialise (uint32_t wantedFPS=100, bool threaded=false)
 Fonction d'initialisation, définit le frame rate voulu.
 
C3D_API void cleanup ()
 Fonction de nettoyage, détruit tout ce qui a été créé depuis le début.
 
C3D_API bool loadRenderer (castor::String const &type)
 Charge un plug-in de rendu, selon le type de rendu.
 
C3D_API void loadRenderer (Renderer renderer)
 Charge un plug-in de rendu, selon le type de rendu.
 
C3D_API CpuFrameEventpostEvent (CpuFrameEventUPtr event)
 Ajoute un évènement de frame au frame listener par défaut.
 
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.
 
C3D_API GpuFrameEventpostEvent (GpuFrameEventUPtr event)
 Ajoute un évènement de frame au frame listener par défaut.
 
C3D_API bool fireMouseMove (castor::Position const &position, bool ctrl, bool alt, bool shift)
 Lance un évènement de déplacement de souris.
 
C3D_API void update (CpuUpdater &updater)
 Met à jour le moteur, au niveau CPU.
 
C3D_API void update (GpuUpdater &updater)
 Met à jour le moteur, au niveau GPU.
 
C3D_API void upload (ashes::CommandBuffer const &commandBuffer)
 Met à jour les buffers.
 
C3D_API bool isCleaned ()
 Récupère le statut de nettoyage.
 
C3D_API void setCleaned ()
 Dit que le moteur est nettoyé
 
C3D_API void pushCpuJob (castor::AsyncJobQueue::Job job)
 Met dans la file la tâche CPU donnée.
 
C3D_API castor::RgbaColour getNextRainbowColour () const
 Récupère une couleur issue d'un itérateur de couleurs d'arc-en-ciel.
 
C3D_API void registerWindow (RenderWindow &window)
 Enregistre une RenderWindow.
 
C3D_API void unregisterWindow (RenderWindow const &window)
 Désenregistre une RenderWindow.
 
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.
 
C3D_API void unregisterParsers (castor::String const &name)
 Désenregistre des analyseurs pour SceneFileParser.
 
C3D_API void registerTimer (castor::String const &category, FramePassTimer &timer)
 Enregistre un timer de passe de rendu.
 
C3D_API void unregisterTimer (castor::String const &category, FramePassTimer &timer)
 Désenregistre un timer de passe de rendu.
 
C3D_API LightingModelID registerLightingModel (castor::String const &name, shader::LightingModelCreator creator, BackgroundModelID backgroundModelId)
 Enregistre un Lighting Model.
 
C3D_API void unregisterLightingModel (LightingModelID lightingModelId, BackgroundModelID backgroundModelId)
 Désenregistre une combinaison de Lighting Model et de Background Model.
 
C3D_API void unregisterLightingModel (castor::String const &name, BackgroundModelID backgroundModelId)
 Désenregistre un Lighting Model.
 
C3D_API BackgroundModelID registerBackgroundModel (castor::String const &name, shader::BackgroundModelCreator creator)
 Enregistre un Background Model.
 
C3D_API BackgroundModelID unregisterBackgroundModel (castor::String const &name)
 Désenregistre un Background Model.
 
C3D_API void registerBuffer (ShaderBuffer const &buffer)
 Enregistre un ShaderBuffer.
 
C3D_API void unregisterBuffer (ShaderBuffer const &buffer)
 Désenregistre un ShaderBuffer.
 
C3D_API void registerPassModel (BackgroundModelID backgroundModelId, PassRegisterInfo info)
 Enregistre les informations de passe avec le modèle de fond donnés.
 
C3D_API void registerPassModels (PassRegisterInfo info)
 Enregistre les informations de passe avec tous les modèles de fond.
 
C3D_API void unregisterPassModel (BackgroundModelID backgroundModelId, LightingModelID lightingModelId)
 Désenregistre une combinaison de modèle d'éclairage et de modèle de fond.
 
C3D_API void unregisterPassModels (castor::String const &type)
 Désenregistre toutes les combinaisons du modèle d'éclairage et des modèles de fond.
 
C3D_API void registerSpecificsBuffer (std::string const &name, castor3d::SpecificsBuffer buffer)
 Enregistre un shader buffer de données spécifiques.
 
C3D_API void unregisterSpecificsBuffer (std::string const &name)
 Désenregistre un shader buffer de données spécifiques.
 
C3D_API void addSpecificsBuffersBindings (ashes::VkDescriptorSetLayoutBindingArray &bindings, VkShaderStageFlags shaderStages, uint32_t &index) const
 Ecrit les shader buffers de données spécifiques dans le tableau de descriptor layout bindings donné.
 
C3D_API void addSpecificsBuffersDescriptors (ashes::WriteDescriptorSetArray &descriptorWrites, uint32_t &index) const
 Ecrit les shader buffers de données spécifiques dans le tableau de descriptor writes donné.
 
C3D_API void createSpecificsBuffersPassBindings (crg::FramePass &pass, uint32_t &index) const
 Ecrit les bindings des shader buffers de données spécifiques dans la frame pass donnée.
 
C3D_API void declareSpecificsShaderBuffers (sdw::ShaderWriter &writer, std::map< std::string, castor3d::shader::BufferBaseUPtr > &buffers, uint32_t &binding, uint32_t set) const
 Déclare dans les shaders les buffers spécifiques enregistrés.
 
C3D_API PassComponentID registerPassComponent (castor::String const &type, PassComponentPluginUPtr componentPlugin)
 Enregistre un composant de passe.
 
C3D_API void unregisterPassComponent (castor::String const &type)
 Désenregistre un composant de passe.
 
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é.
 
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.
 
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.
 
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é.
 
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.
 
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.
 
C3D_API void unregisterRenderPassType (castor::String const &renderPassType)
 Désenregistre un type de passe de rendu de scène.
 

Accesseurs.

C3D_API castor::String getDefaultLightingModelName () const
 
C3D_API ToneMappingFactory const & getToneMappingFactory () const
 
C3D_API ToneMappingFactorygetToneMappingFactory ()
 
C3D_API PostEffectFactory const & getPostEffectFactory () const
 
C3D_API PostEffectFactorygetPostEffectFactory ()
 
C3D_API uint32_t getWantedFps () const
 
C3D_API castor3d::MaterialObs getDefaultMaterial () const
 
C3D_API bool hasMeshShaders () const
 
C3D_API uint32_t getMaxPassTypeCount () const
 
C3D_API RenderDevicegetRenderDevice () const
 
C3D_API ControlsManagergetControlsManager () const
 
castor::String const & getAppName () const noexcept
 
Version const & getAppVersion () const noexcept
 
castor::ImageCache const & getImageCache () const noexcept
 
castor::ImageCache & getImageCache () noexcept
 
castor::FontCache const & getFontCache () const noexcept
 
castor::FontCache & getFontCache () noexcept
 
UserInputListenerRPtr getUserInputListener () noexcept
 
RenderSystemgetRenderSystem () const noexcept
 
auto getDefaultSampler () const noexcept
 
auto getLightsSampler () const noexcept
 
std::map< castor::String, castor::AdditionalParsers > const & getAdditionalParsers () const noexcept
 
Version const & getVersion () const noexcept
 
bool isValidationEnabled () const noexcept
 
void enableUpdateOptimisations (bool value) noexcept
 
bool areUpdateOptimisationsEnabled () const noexcept
 
bool isRandomisationEnabled () const noexcept
 
bool isApiTraceEnabled () const noexcept
 
bool hasRenderLoop () const noexcept
 
RenderLoopgetRenderLoop () const
 
bool isThreaded ()
 
MeshFactorygetMeshFactory () const noexcept
 
PassFactorygetPassFactory () const noexcept
 
PassComponentRegistergetPassComponentsRegister () const noexcept
 
ImporterFileFactorygetImporterFileFactory () const noexcept
 
ParticleFactorygetParticleFactory () const noexcept
 
castor::CpuInformations const & getCpuInformations () const noexcept
 
LightingModelID getDefaultLightingModel () const noexcept
 
castor::ImageLoader const & getImageLoader () const noexcept
 
castor::ImageLoader & getImageLoader () noexcept
 
castor::ImageWriter const & getImageWriter () const noexcept
 
ashes::RendererList const & getRenderersList () const noexcept
 
castor::LoggerInstance & getLogger () const noexcept
 
uint32_t getLpvGridSize () const noexcept
 
uint32_t getMaxImageSize () const noexcept
 
std::map< castor::String, RenderWindow * > const & getRenderWindows () const noexcept
 
crg::ResourceHandler & getGraphResourceHandler () noexcept
 
LightingModelFactorygetLightingModelFactory () const noexcept
 
shader::BackgroundModelFactory const & getBackgroundModelFactory () const noexcept
 
shader::BackgroundModelFactorygetBackgroundModelFactory () noexcept
 
SceneRPtr getLoadingScene () const noexcept
 
Texture const & getPrefilteredBrdfTexture () const noexcept
 
castor::LengthUnit getLengthUnit () const noexcept
 

Mutateurs.

C3D_API void setLoadingScene (SceneUPtr scene)
 
void setUserInputListener (UserInputListenerUPtr listener) noexcept
 
template<typename ListenerT >
void setUserInputListenerT (castor::UniquePtr< ListenerT > listener) noexcept
 
void setDefaultLightingModel (LightingModelID value) noexcept
 
void setMaxImageSize (uint32_t size) noexcept
 
void setLpvGridSize (uint32_t size) noexcept
 
template<typename ComponentT >
PassComponentID registerPassComponent (CreatePassComponentPlugin createPlugin=&ComponentT::createPlugin)
 
void setLengthUnit (castor::LengthUnit value) noexcept
 

Fonts.

template<typename ... ParametersT>
castor::FontCache::ElementPtrT createFont (castor::FontCache::ElementKeyT const &key, ParametersT &&... parameters) const
 
template<typename ... ParametersT>
castor::FontCache::ElementObsT addNewFont (castor::FontCache::ElementKeyT const &key, ParametersT &&... parameters)
 
castor::FontCache::ElementObsT addFont (castor::FontCache::ElementKeyT const &key, castor::FontCache::ElementPtrT &element, bool initialise=false)
 
void removeFont (castor::FontCache::ElementKeyT const &key, bool cleanup=false)
 
castor::FontCache::ElementObsT findFont (castor::FontCache::ElementKeyT const &key) const
 
bool hasFont (castor::FontCache::ElementKeyT const &key) const
 
castor::FontCache::ElementObsT tryFindFont (castor::FontCache::ElementKeyT const &key) const
 

Images.

template<typename ... ParametersT>
castor::ImageCache::ElementPtrT createImage (castor::ImageCache::ElementKeyT const &key, ParametersT &&... parameters) const
 
template<typename ... ParametersT>
castor::ImageCache::ElementObsT addNewImage (castor::ImageCache::ElementKeyT const &key, ParametersT &&... parameters)
 
castor::ImageCache::ElementObsT addImage (castor::ImageCache::ElementKeyT const &key, castor::ImageCache::ElementPtrT &element, bool initialise=false)
 
void removeImage (castor::ImageCache::ElementKeyT const &key, bool cleanup=false)
 
castor::ImageCache::ElementObsT findImage (castor::ImageCache::ElementKeyT const &key) const
 
bool hasImage (castor::ImageCache::ElementKeyT const &key) const
 
castor::ImageCache::ElementObsT tryFindImage (castor::ImageCache::ElementKeyT const &key) const
 
template<typename ... ParametersT>
castor::ImageCache::ElementObsT tryAddImage (castor::ImageCache::ElementKeyT const &name, bool initialise, castor::ImageCache::ElementObsT &created, ParametersT &&... parameters)
 

Fonctions membres publiques statiques

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

Documentation des constructeurs et destructeur

◆ Engine() [1/2]

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

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]enableRandomtrue pour générer des random seeds à chaque lancement.

◆ Engine() [2/2]

C3D_API castor3d::Engine::Engine ( castor::String const &  appName,
Version const &  appVersion,
bool  enableValidation,
bool  enableRandom,
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]enableRandomtrue pour générer des random seeds à chaque lancement.
[in]loggerL'instance de logger.

◆ ~Engine()

C3D_API castor3d::Engine::~Engine ( )

Destructeur.

Documentation des fonctions membres

◆ addFont()

castor::FontCache::ElementObsT castor3d::Engine::addFont ( castor::FontCache::ElementKeyT const &  key,
castor::FontCache::ElementPtrT &  element,
bool  initialise = false 
)
inline

Références getFontCache(), et initialise().

Voici le graphe d'appel pour cette fonction :

◆ addImage()

castor::ImageCache::ElementObsT castor3d::Engine::addImage ( castor::ImageCache::ElementKeyT const &  key,
castor::ImageCache::ElementPtrT &  element,
bool  initialise = false 
)
inline

Références getImageCache(), et initialise().

Voici le graphe d'appel pour cette fonction :

◆ addNewFont()

template<typename ... ParametersT>
castor::FontCache::ElementObsT castor3d::Engine::addNewFont ( castor::FontCache::ElementKeyT const &  key,
ParametersT &&...  parameters 
)
inline

Références getFontCache().

Voici le graphe d'appel pour cette fonction :

◆ addNewImage()

template<typename ... ParametersT>
castor::ImageCache::ElementObsT castor3d::Engine::addNewImage ( castor::ImageCache::ElementKeyT const &  key,
ParametersT &&...  parameters 
)
inline

Références getImageCache().

Voici le graphe d'appel pour cette fonction :

◆ addSpecificsBuffersBindings()

C3D_API void castor3d::Engine::addSpecificsBuffersBindings ( ashes::VkDescriptorSetLayoutBindingArray &  bindings,
VkShaderStageFlags  shaderStages,
uint32_t &  index 
) const

Ecrit les shader buffers de données spécifiques dans le tableau de descriptor layout bindings donné.

Paramètres
[in,out]bindingsReçoit les descriptor layout bindings des buffers.
[in]shaderStagesLes indicateurs de shader stage.
[in,out]indexL'indice de binding.

◆ addSpecificsBuffersDescriptors()

C3D_API void castor3d::Engine::addSpecificsBuffersDescriptors ( ashes::WriteDescriptorSetArray &  descriptorWrites,
uint32_t &  index 
) const

Ecrit les shader buffers de données spécifiques dans le tableau de descriptor writes donné.

Paramètres
[in,out]descriptorWritesReçoit les descriptor writes des buffers.
[in,out]indexL'indice de binding.

◆ areUpdateOptimisationsEnabled()

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

◆ 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

Référencé par removeFont(), et removeImage().

Voici le graphe des appelants de cette fonction :

◆ createFont()

template<typename ... ParametersT>
castor::FontCache::ElementPtrT castor3d::Engine::createFont ( castor::FontCache::ElementKeyT const &  key,
ParametersT &&...  parameters 
) const
inline

Références getFontCache().

Voici le graphe d'appel pour cette fonction :

◆ createImage()

template<typename ... ParametersT>
castor::ImageCache::ElementPtrT castor3d::Engine::createImage ( castor::ImageCache::ElementKeyT const &  key,
ParametersT &&...  parameters 
) const
inline

Références getImageCache().

Voici le graphe d'appel pour cette fonction :

◆ createSpecificsBuffersPassBindings()

C3D_API void castor3d::Engine::createSpecificsBuffersPassBindings ( crg::FramePass &  pass,
uint32_t &  index 
) const

Ecrit les bindings des shader buffers de données spécifiques dans la frame pass donnée.

Paramètres
[in,out]passLa frame pass ciblée.
[in,out]indexL'indice de binding.

◆ declareSpecificsShaderBuffers()

C3D_API void castor3d::Engine::declareSpecificsShaderBuffers ( sdw::ShaderWriter &  writer,
std::map< std::string, castor3d::shader::BufferBaseUPtr > &  buffers,
uint32_t &  binding,
uint32_t  set 
) const

Déclare dans les shaders les buffers spécifiques enregistrés.

Paramètres
[in,out]writerLe writer de shader.
[out]buffersReçoit les shader buffers enregistrés.
[in,out]bindingL'indice de descripteur.
[in]setL'indice de descriptor set.

◆ enableUpdateOptimisations()

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

◆ findFont()

castor::FontCache::ElementObsT castor3d::Engine::findFont ( castor::FontCache::ElementKeyT const &  key) const
inline

Références getFontCache().

Voici le graphe d'appel pour cette fonction :

◆ findImage()

castor::ImageCache::ElementObsT castor3d::Engine::findImage ( castor::ImageCache::ElementKeyT const &  key) const
inline

Références getImageCache().

Voici le graphe d'appel pour cette fonction :

◆ fireMouseMove()

C3D_API bool castor3d::Engine::fireMouseMove ( castor::Position const &  position,
bool  ctrl,
bool  alt,
bool  shift 
)

Lance un évènement de déplacement de souris.

Paramètres
[in]positionLa position de la souris.
[in]ctrlDit si la touche Ctrl est enfoncée.
[in]altDit si la touche Alt est enfoncée.
[in]shiftDit si la touche Shift est enfoncée.
Renvoie
true si l'évènement est traité par un gestionnaire.

◆ getAdditionalParsers()

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

◆ getAppName()

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

◆ getAppVersion()

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

◆ getBackgroundModelFactory() [1/2]

shader::BackgroundModelFactory const & castor3d::Engine::getBackgroundModelFactory ( ) const
inlinenoexcept

◆ getBackgroundModelFactory() [2/2]

shader::BackgroundModelFactory & castor3d::Engine::getBackgroundModelFactory ( )
inlinenoexcept

◆ getControlsManager()

C3D_API ControlsManager * castor3d::Engine::getControlsManager ( ) const

◆ getCpuInformations()

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

◆ getDataDirectory()

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

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

Renvoie
Le chemin des données

◆ getDefaultLightingModel()

LightingModelID castor3d::Engine::getDefaultLightingModel ( ) const
inlinenoexcept

◆ getDefaultLightingModelName()

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

◆ getDefaultMaterial()

C3D_API castor3d::MaterialObs castor3d::Engine::getDefaultMaterial ( ) const

◆ getDefaultSampler()

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

◆ 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 const & castor3d::Engine::getFontCache ( ) const
inlinenoexcept

Référencé par addFont(), addNewFont(), createFont(), findFont(), hasFont(), removeFont(), et tryFindFont().

Voici le graphe des appelants de cette fonction :

◆ getFontCache() [2/2]

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

◆ getGraphResourceHandler()

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

◆ getImageCache() [1/2]

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

Référencé par addImage(), addNewImage(), createImage(), findImage(), hasImage(), removeImage(), tryAddImage(), et tryFindImage().

Voici le graphe des appelants de cette fonction :

◆ getImageCache() [2/2]

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

◆ getImageLoader() [1/2]

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

◆ getImageLoader() [2/2]

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

◆ getImageWriter()

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

◆ getImporterFileFactory()

ImporterFileFactory & castor3d::Engine::getImporterFileFactory ( ) const
inlinenoexcept

◆ getLengthUnit()

castor::LengthUnit castor3d::Engine::getLengthUnit ( ) const
inlinenoexcept

◆ getLightingModelFactory()

LightingModelFactory & castor3d::Engine::getLightingModelFactory ( ) const
inlinenoexcept

◆ getLightsSampler()

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

◆ getLoadingScene()

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

◆ 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
inlinenoexcept

◆ getLpvGridSize()

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

◆ getMaxImageSize()

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

◆ getMaxPassTypeCount()

C3D_API uint32_t castor3d::Engine::getMaxPassTypeCount ( ) const

◆ getMeshFactory()

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

◆ 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
inlinenoexcept

◆ getPassComponentsRegister()

PassComponentRegister & castor3d::Engine::getPassComponentsRegister ( ) const
inlinenoexcept

◆ getPassFactory()

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

◆ 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

◆ getPrefilteredBrdfTexture()

Texture const & castor3d::Engine::getPrefilteredBrdfTexture ( ) const
inlinenoexcept

◆ getRenderDevice()

C3D_API RenderDevice * castor3d::Engine::getRenderDevice ( ) const

◆ getRenderersList()

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

◆ 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
inlinenoexcept

◆ getRenderWindows()

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

◆ getToneMappingFactory() [1/2]

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

◆ getToneMappingFactory() [2/2]

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

◆ getUserInputListener()

UserInputListenerRPtr castor3d::Engine::getUserInputListener ( )
inlinenoexcept

◆ getVersion()

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

◆ getWantedFps()

C3D_API uint32_t castor3d::Engine::getWantedFps ( ) const

◆ hasFont()

bool castor3d::Engine::hasFont ( castor::FontCache::ElementKeyT const &  key) const
inline

Références getFontCache().

Voici le graphe d'appel pour cette fonction :

◆ hasImage()

bool castor3d::Engine::hasImage ( castor::ImageCache::ElementKeyT const &  key) const
inline

Références getImageCache().

Voici le graphe d'appel pour cette fonction :

◆ hasMeshShaders()

C3D_API bool castor3d::Engine::hasMeshShaders ( ) const

◆ hasRenderLoop()

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

◆ 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é

Référencé par addFont(), addImage(), et tryAddImage().

Voici le graphe des appelants de cette fonction :

◆ isApiTraceEnabled()

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

◆ isCleaned()

C3D_API bool castor3d::Engine::isCleaned ( )

Récupère le statut de nettoyage.

Remarques
Thread-safe
Renvoie
true si nettoyé

◆ isRandomisationEnabled()

bool castor3d::Engine::isRandomisationEnabled ( ) const
inlinenoexcept

◆ isThreaded()

bool castor3d::Engine::isThreaded ( )
inline

◆ isValidationEnabled()

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

◆ 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.

◆ registerBackgroundModel()

C3D_API BackgroundModelID castor3d::Engine::registerBackgroundModel ( castor::String const &  name,
shader::BackgroundModelCreator  creator 
)

Enregistre un Background Model.

Paramètres
[in]nameLe nom du model.
[in]creatorLa fonction dde création du modèle.
Renvoie
L'ID du modèle.

◆ registerBuffer()

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

Enregistre un ShaderBuffer.

Paramètres
[in]bufferLe ShaderBuffer.

◆ registerLightingModel()

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

Enregistre un Lighting Model.

Paramètres
[in]nameLe nom du model.
[in]backgroundModelIdL'ID du modèle de fond.
[in]creatorLa fonction de création du modèle.
Renvoie
L'ID du modèle.

◆ 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.

◆ registerPassComponent() [1/2]

C3D_API PassComponentID castor3d::Engine::registerPassComponent ( castor::String const &  type,
PassComponentPluginUPtr  componentPlugin 
)

Enregistre un composant de passe.

Paramètres
[in]typeLe nom du type de composant.
[in]componentPluginLes fonctions spécifiques du composant.

Référencé par registerPassComponent().

Voici le graphe des appelants de cette fonction :

◆ registerPassComponent() [2/2]

template<typename ComponentT >
PassComponentID castor3d::Engine::registerPassComponent ( CreatePassComponentPlugin  createPlugin = &ComponentT::createPlugin)
inline

Références registerPassComponent().

Voici le graphe d'appel pour cette fonction :

◆ registerPassModel()

C3D_API void castor3d::Engine::registerPassModel ( BackgroundModelID  backgroundModelId,
PassRegisterInfo  info 
)

Enregistre les informations de passe avec le modèle de fond donnés.

Paramètres
[in]backgroundModelIdLe modèle de fond.
[in]infoLes informations d'enregistrement de la passe.

◆ registerPassModels()

C3D_API void castor3d::Engine::registerPassModels ( PassRegisterInfo  info)

Enregistre les informations de passe avec tous les modèles de fond.

Paramètres
[in]infoLes informations d'enregistrement 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.

◆ registerSpecificsBuffer()

C3D_API void castor3d::Engine::registerSpecificsBuffer ( std::string const &  name,
castor3d::SpecificsBuffer  buffer 
)

Enregistre un shader buffer de données spécifiques.

Paramètres
[in,out]nameLe nom du shader buffer.
[out]bufferLe shader buffer.

◆ registerTimer()

C3D_API void 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.

◆ registerWindow()

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

Enregistre une RenderWindow.

Paramètres
[in]windowLa RenderWindow.

◆ removeFont()

void castor3d::Engine::removeFont ( castor::FontCache::ElementKeyT const &  key,
bool  cleanup = false 
)
inline

Références cleanup(), et getFontCache().

Voici le graphe d'appel pour cette fonction :

◆ removeImage()

void castor3d::Engine::removeImage ( castor::ImageCache::ElementKeyT const &  key,
bool  cleanup = false 
)
inline

Références cleanup(), et getImageCache().

Voici le graphe d'appel pour cette fonction :

◆ 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

◆ setDefaultLightingModel()

void castor3d::Engine::setDefaultLightingModel ( LightingModelID  value)
inlinenoexcept

◆ setLengthUnit()

void castor3d::Engine::setLengthUnit ( castor::LengthUnit  value)
inlinenoexcept

◆ setLoadingScene()

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

◆ setLpvGridSize()

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

◆ setMaxImageSize()

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

◆ 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 ( UserInputListenerUPtr  listener)
inlinenoexcept

◆ setUserInputListenerT()

template<typename ListenerT >
void castor3d::Engine::setUserInputListenerT ( castor::UniquePtr< ListenerT >  listener)
inlinenoexcept

◆ tryAddImage()

template<typename ... ParametersT>
castor::ImageCache::ElementObsT castor3d::Engine::tryAddImage ( castor::ImageCache::ElementKeyT const &  name,
bool  initialise,
castor::ImageCache::ElementObsT &  created,
ParametersT &&...  parameters 
)
inline

Références getImageCache(), et initialise().

Voici le graphe d'appel pour cette fonction :

◆ tryFindFont()

castor::FontCache::ElementObsT castor3d::Engine::tryFindFont ( castor::FontCache::ElementKeyT const &  key) const
inline

Références getFontCache().

Voici le graphe d'appel pour cette fonction :

◆ tryFindImage()

castor::ImageCache::ElementObsT castor3d::Engine::tryFindImage ( castor::ImageCache::ElementKeyT const &  key) const
inline

Références getImageCache().

Voici le graphe d'appel pour cette fonction :

◆ unregisterBackgroundModel()

C3D_API BackgroundModelID castor3d::Engine::unregisterBackgroundModel ( castor::String const &  name)

Désenregistre un Background Model.

Paramètres
[in]nameLe nom du modèle.

◆ unregisterBuffer()

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

Désenregistre un ShaderBuffer.

Paramètres
[in]bufferLe ShaderBuffer.

◆ unregisterLightingModel() [1/2]

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

Désenregistre un Lighting Model.

Paramètres
[in]nameLe nom du modèle.
[in]backgroundModelIdL'ID du modèle de fond.

◆ unregisterLightingModel() [2/2]

C3D_API void castor3d::Engine::unregisterLightingModel ( LightingModelID  lightingModelId,
BackgroundModelID  backgroundModelId 
)

Désenregistre une combinaison de Lighting Model et de Background Model.

Paramètres
[in]lightingModelIdL'ID du modèle d'éclairage.
[in]backgroundModelIdL'ID du modèle de fond.

◆ unregisterParsers()

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

Désenregistre des analyseurs pour SceneFileParser.

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

◆ unregisterPassComponent()

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

Désenregistre un composant de passe.

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

◆ unregisterPassModel()

C3D_API void castor3d::Engine::unregisterPassModel ( BackgroundModelID  backgroundModelId,
LightingModelID  lightingModelId 
)

Désenregistre une combinaison de modèle d'éclairage et de modèle de fond.

Paramètres
[in]backgroundModelIdLe modèle de fond.
[in]lightingModelIdLe modèle d'éclairage.

◆ unregisterPassModels()

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

Désenregistre toutes les combinaisons du modèle d'éclairage et des modèles de fond.

Paramètres
[in]typeLe nom du modèle d'éclairage.

◆ 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.

◆ unregisterSpecificsBuffer()

C3D_API void castor3d::Engine::unregisterSpecificsBuffer ( std::string const &  name)

Désenregistre un shader buffer de données spécifiques.

Paramètres
[in,out]nameLe nom du shader buffer.

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