Castor3D 0.12.0
Multiplatform 3D engine
|
#include <Engine.hpp>
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 CpuFrameEvent * | postEvent (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 GpuFrameEvent * | postEvent (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 §ions, 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 RenderPassRegisterInfo * | getRenderPassInfo (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 ToneMappingFactory & | getToneMappingFactory () |
C3D_API PostEffectFactory const & | getPostEffectFactory () const |
C3D_API PostEffectFactory & | getPostEffectFactory () |
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 () |
RenderSystem * | getRenderSystem () 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 |
RenderLoop & | getRenderLoop () const |
bool | isThreaded () |
MeshFactory & | getMeshFactory () const |
PassFactory & | getPassFactory () const |
MeshSubdividerFactory & | getSubdividerFactory () const |
MeshImporterFactory & | getImporterFactory () const |
ParticleFactory & | getParticleFactory () 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... | |
C3D_API castor3d::Engine::Engine | ( | castor::String const & | appName, |
Version const & | appVersion, | ||
bool | enableValidation | ||
) |
Constructeur.
[in] | appName | Le nom de l'application. |
[in] | appVersion | La version de l'application. |
[in] | enableValidation | true pour activer la validation via l'API de rendu. |
C3D_API castor3d::Engine::Engine | ( | castor::String const & | appName, |
Version const & | appVersion, | ||
bool | enableValidation, | ||
castor::LoggerInstance & | logger | ||
) |
Constructeur.
[in] | appName | Le nom de l'application. |
[in] | appVersion | La version de l'application. |
[in] | enableValidation | true pour activer la validation via l'API de rendu. |
[in] | logger | L'instance de logger. |
C3D_API castor3d::Engine::~Engine | ( | ) |
Destructeur.
|
inline |
C3D_API void castor3d::Engine::cleanup | ( | ) |
Fonction de nettoyage, détruit tout ce qui a été créé depuis le début.
|
inline |
C3D_API bool castor3d::Engine::fireMouseMove | ( | castor::Position const & | position | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
static |
Récupère le chemin des données.
|
inline |
|
static |
donne le répertoire du Castor
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
static |
Récupère le chemin des données.
|
inline |
|
inline |
|
inline |
|
inline |
C3D_API castor::RgbaColour castor3d::Engine::getNextRainbowColour | ( | ) | const |
Récupère une couleur issue d'un itérateur de couleurs d'arc-en-ciel.
|
inline |
C3D_API castor::String castor3d::Engine::getPassesName | ( | ) | const |
name Accesseurs.
|
inline |
|
inline |
|
static |
Récupère le chemin des plug-ins.
C3D_API PostEffectFactory & castor3d::Engine::getPostEffectFactory | ( | ) |
C3D_API PostEffectFactory const & castor3d::Engine::getPostEffectFactory | ( | ) | const |
|
inline |
|
inline |
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.
[in] | renderPassType | Le nom du type de la passe. |
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.
[in] | event | Le type d'évènement des passes considérées. |
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.
[in] | renderPassType | Le nom du type de la passe. |
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é.
[in] | renderPassType | Le nom du type de la passe. |
|
inline |
|
inline |
|
inline |
C3D_API ToneMappingFactory & castor3d::Engine::getToneMappingFactory | ( | ) |
C3D_API ToneMappingFactory const & castor3d::Engine::getToneMappingFactory | ( | ) | const |
|
inline |
|
inline |
|
inline |
C3D_API void castor3d::Engine::initialise | ( | uint32_t | wantedFPS = 100 , |
bool | threaded = false |
||
) |
Fonction d'initialisation, définit le frame rate voulu.
[in] | wantedFPS | Le nombre voulu de FPS |
[in] | threaded | Si false , le rendu ne peut pas être threadé |
|
inline |
C3D_API bool castor3d::Engine::isCleaned | ( | ) |
Récupère le statut de nettoyage.
true
si nettoyé
|
inline |
|
inline |
C3D_API bool castor3d::Engine::loadRenderer | ( | castor::String const & | type | ) |
Charge un plug-in de rendu, selon le type de rendu.
[in] | type | Le type de renderer. |
true
si tout s'est bien passé Charge un plug-in de rendu, selon le type de rendu.
[in] | renderer | Le rendere. |
C3D_API CpuFrameEvent * castor3d::Engine::postEvent | ( | CpuFrameEventUPtr | event | ) |
Ajoute un évènement de frame au frame listener par défaut.
[in] | event | L'évènement |
C3D_API GpuFrameEvent * castor3d::Engine::postEvent | ( | GpuFrameEventUPtr | event | ) |
Ajoute un évènement de frame au frame listener par défaut.
[in] | event | L'évènement |
C3D_API void castor3d::Engine::pushCpuJob | ( | castor::AsyncJobQueue::Job | job | ) |
Met dans la file la tâche CPU donnée.
[in] | job | Le job à exécuter. |
C3D_API void castor3d::Engine::pushGpuJob | ( | std::function< void(RenderDevice const &, QueueData const &) > | job | ) |
Met dans la file la tâche GPU donnée.
[in] | job | Le job à exécuter. |
C3D_API void castor3d::Engine::registerBuffer | ( | ShaderBuffer const & | buffer | ) |
Enregistre un ShaderBuffer.
[in] | buffer | Le ShaderBuffer. |
C3D_API void castor3d::Engine::registerLightingModel | ( | castor::String const & | name, |
shader::LightingModelCreator | creator | ||
) |
Enregistre un Lighting Model.
[in] | name | Le nom du lighing model. |
[in] | creator | La fonction dde création du lighting model. |
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.
[in] | name | Le nom d'enregistrement. |
[in] | parsers | Les analyseurs. |
[in] | sections | Les sections. |
[in] | contextCreator | La fonction de création de contexte de parser. |
C3D_API void castor3d::Engine::registerPassType | ( | castor::String const & | type, |
PassRegisterInfo | info | ||
) |
Enregistre un type de passe de matériau.
[in] | type | Le nom du type de la passe. |
[in] | info | Les informations de création de la passe. |
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é.
[in] | renderPassType | Le nom du type de la passe. |
[in] | info | Les informations de création de la passe. |
C3D_API uint32_t castor3d::Engine::registerTimer | ( | castor::String const & | category, |
FramePassTimer & | timer | ||
) |
Enregistre un timer de passe de rendu.
[in] | category | Le nom de la catégorie du timer. |
[in] | timer | Le timer à enregistrer. |
C3D_API void castor3d::Engine::registerWindow | ( | RenderWindow & | window | ) |
Enregistre une RenderWindow.
[in] | window | La RenderWindow. |
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.
[in] | event | L'évènement. |
C3D_API void castor3d::Engine::setCleaned | ( | ) |
Dit que le moteur est nettoyé
C3D_API void castor3d::Engine::setLoadingScene | ( | SceneUPtr | scene | ) |
name Mutateurs.
|
inline |
|
inline |
|
inline |
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.
[in] | renderPassType | Le nom du type de la passe. |
[in] | parameters | Les paramètres de configuration de la passe. |
|
inline |
C3D_API void castor3d::Engine::unregisterBuffer | ( | ShaderBuffer const & | buffer | ) |
Désenregistre un ShaderBuffer.
[in] | buffer | Le ShaderBuffer. |
C3D_API void castor3d::Engine::unregisterLightingModel | ( | castor::String const & | name | ) |
Désenregistre un Lighting Model.
[in] | name | Le nom du lighing model. |
C3D_API void castor3d::Engine::unregisterParsers | ( | castor::String const & | name | ) |
Désenregistre des analyseurs pour SceneFileParser.
[in] | name | Le nom d'enregistrement. |
C3D_API void castor3d::Engine::unregisterPassType | ( | castor::String const & | type | ) |
Désenregistre un type de passe de matériau.
[in] | type | Le nom du type de la passe. |
C3D_API void castor3d::Engine::unregisterRenderPassType | ( | castor::String const & | renderPassType | ) |
Désenregistre un type de passe de rendu de scène.
[in] | renderPassType | Le nom du type de la passe. |
C3D_API void castor3d::Engine::unregisterTimer | ( | castor::String const & | category, |
FramePassTimer & | timer | ||
) |
Désenregistre un timer de passe de rendu.
[in] | category | Le nom de la catégorie du timer. |
[in] | timer | Le timer à désenregistrer. |
C3D_API void castor3d::Engine::unregisterWindow | ( | RenderWindow const & | window | ) |
Désenregistre une RenderWindow.
[in] | window | La RenderWindow. |
C3D_API void castor3d::Engine::update | ( | CpuUpdater & | updater | ) |
Met à jour le moteur, au niveau CPU.
[in,out] | updater | Les données d'update. |
C3D_API void castor3d::Engine::update | ( | GpuUpdater & | updater | ) |
Met à jour le moteur, au niveau GPU.
[in,out] | updater | Les données d'update. |
C3D_API void castor3d::Engine::upload | ( | ashes::CommandBuffer const & | commandBuffer | ) |
Met à jour les buffers.
[in] | commandBuffer | Reçoit les commandes d'upload. |