Castor3D 0.16.0
Multiplatform 3D engine
|
#include <Engine.hpp>
Public Member Functions | |
C3D_API | Engine (EngineConfig config) |
Constructor. | |
C3D_API | Engine (EngineConfig config, castor::LoggerInstance &logger) |
Constructor. | |
C3D_API | ~Engine () noexcept |
Destructor. | |
C3D_API void | initialise (uint32_t wantedFPS=100, bool threaded=false) |
Initialisation function, Sets the wanted frame rate. | |
C3D_API void | cleanup () |
Cleanup function, destroys everything created from the beginning. | |
C3D_API bool | loadRenderer (castor::String const &type) |
Loads a renderer plug-in, given the renderer type. | |
C3D_API void | loadRenderer (Renderer renderer) |
Loads a renderer plug-in, given the renderer type. | |
C3D_API CpuFrameEvent * | postEvent (CpuFrameEventUPtr event) const |
Posts a frame event to the default frame listener. | |
C3D_API void | sendEvent (GpuFrameEventUPtr event) const |
If a device is enabled, executes the given event, if not posts it to the default frame listener. | |
C3D_API GpuFrameEvent * | postEvent (GpuFrameEventUPtr event) const |
Posts a frame event to the default frame listener. | |
C3D_API bool | fireMouseMove (castor::Position const &position, bool ctrl, bool alt, bool shift) |
Fires a mouse move event. | |
C3D_API void | update (CpuUpdater &updater) |
Updates the engine, CPU wise. | |
C3D_API void | update (GpuUpdater &updater) |
Updates the engine, GPU wise. | |
C3D_API void | upload (UploadData &uploader) |
Updates the buffers. | |
C3D_API bool | isCleaned () const noexcept |
Retrieves the cleanup status. | |
C3D_API void | setCleaned () noexcept |
Tells the engine is cleaned up. | |
C3D_API void | pushCpuJob (castor::AsyncJobQueue::Job job) |
Enqueues the given CPU job. | |
C3D_API castor::RgbaColour | getNextRainbowColour () const |
Retrieves a colour issued from a rainbow colours iterator. | |
C3D_API void | registerWindow (RenderWindow &window) |
Registers a RenderWindow. | |
C3D_API void | unregisterWindow (RenderWindow const &window) |
Unregisters a RenderWindow. | |
C3D_API void | registerParsers (castor::String name, castor::AttributeParsers parsers, castor::StrUInt32Map sections, castor::UserContextCreator contextCreator) |
Registers additional parsers for SceneFileParser. | |
C3D_API void | unregisterParsers (castor::String const &name) noexcept |
Unregisters parsers for SceneFileParser. | |
C3D_API void | registerTimer (castor::String const &category, FramePassTimer &timer) |
Registers a render pass timer. | |
C3D_API void | unregisterTimer (castor::String const &category, FramePassTimer &timer) noexcept |
Unregisters a render pass timer. | |
C3D_API LightingModelID | registerLightingModel (castor::String const &name, shader::LightingModelCreator creator, BackgroundModelID backgroundModelId) const |
Registers a Lighting Model. | |
C3D_API void | unregisterLightingModel (LightingModelID lightingModelId, BackgroundModelID backgroundModelId) const |
Unregisters a combination of Lighting Model and Background Model. | |
C3D_API void | unregisterLightingModel (castor::String const &name, BackgroundModelID backgroundModelId) const |
Unregisters a Lighting Model. | |
C3D_API BackgroundModelID | registerBackgroundModel (castor::String const &name, shader::BackgroundModelCreator creator) |
Registers a Background Model. | |
C3D_API BackgroundModelID | unregisterBackgroundModel (castor::String const &name) |
Unregisters a Background Model. | |
C3D_API void | registerBuffer (ShaderBuffer const &buffer) |
Registers a ShaderBuffer. | |
C3D_API void | unregisterBuffer (ShaderBuffer const &buffer) |
Unregisters a ShaderBuffer. | |
C3D_API void | registerPassModel (BackgroundModelID backgroundModelId, PassRegisterInfo const &info) const |
Registers the pass info with given background model. | |
C3D_API void | registerPassModels (PassRegisterInfo const &info) const |
Registers the given pass info with all background models. | |
C3D_API void | unregisterPassModel (BackgroundModelID backgroundModelId, LightingModelID lightingModelId) const |
Unregisters a combination of lighting model and background model. | |
C3D_API void | unregisterPassModels (castor::String const &type) const |
Unregisters all combinations of given lighting model and background models. | |
C3D_API void | registerSpecificsBuffer (castor::String const &name, castor3d::SpecificsBuffer buffer) const |
Registers a specific data shader buffer. | |
C3D_API void | unregisterSpecificsBuffer (castor::String const &name) const |
Unregisters a pass' specific data buffer. | |
C3D_API void | addSpecificsBuffersBindings (ashes::VkDescriptorSetLayoutBindingArray &bindings, VkShaderStageFlags shaderStages, uint32_t &index) const |
Addw the pass' specific data buffer into the given descriptor layout bindings array. | |
C3D_API void | addSpecificsBuffersDescriptors (ashes::WriteDescriptorSetArray &descriptorWrites, uint32_t &index) const |
Writes the pass' specific data buffer into the given descriptor writes array. | |
C3D_API void | createSpecificsBuffersPassBindings (crg::FramePass &pass, uint32_t &index) const |
Writes the pass' specific data buffer bindings into given frame pass. | |
C3D_API void | declareSpecificsShaderBuffers (sdw::ShaderWriter &writer, castor::StringMap< castor3d::shader::BufferBaseUPtr > &buffers, uint32_t &binding, uint32_t set) const |
Declares pass' specific data shader buffers. | |
C3D_API PassComponentID | registerPassComponent (castor::String const &type, PassComponentPluginUPtr componentPlugin) const |
Registers a pass component. | |
C3D_API void | unregisterPassComponent (castor::String const &type) const |
Unregisters a pass component. | |
C3D_API SubmeshComponentID | registerSubmeshComponent (castor::String const &type, SubmeshComponentPluginUPtr componentPlugin) const |
Registers a pass component. | |
C3D_API void | unregisterSubmeshComponent (castor::String const &type) const |
Unregisters a pass component. | |
C3D_API void | registerRenderPassType (castor::String const &renderPassType, castor::UniquePtr< RenderPassRegisterInfo > info) |
Registers a scene render pass type, used to render given material pass type. | |
C3D_API void | setRenderPassTypeConfiguration (castor::String const &renderPassType, Parameters parameters) |
Registers a scene render pass type's configuration parameters. | |
C3D_API Parameters | getRenderPassTypeConfiguration (castor::String const &renderPassType) const |
Retrieve a scene render pass type's configuration parameters. | |
C3D_API RenderPassTypeID | getRenderPassTypeID (castor::String const &renderPassType) const |
Retrieves the ID for given scene render pass type name. | |
C3D_API RenderPassRegisterInfo * | getRenderPassInfo (castor::String const &renderPassType) const |
Retrieves a scene render pass type's creation informations. | |
C3D_API castor::Vector< RenderPassRegisterInfo * > | getRenderPassInfos (TechniquePassEvent event) const |
Retrieves the scene render passes type creation informations. | |
C3D_API void | unregisterRenderPassType (castor::String const &renderPassType) |
Unregisters a scene render pass type. | |
Getters. | |
C3D_API castor::String | getDefaultLightingModelName () const |
C3D_API ToneMappingFactory const & | getToneMappingFactory () const |
C3D_API ToneMappingFactory & | getToneMappingFactory () |
C3D_API PostEffectFactory const & | getPostEffectFactory () const |
C3D_API PostEffectFactory & | getPostEffectFactory () |
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 RenderDevice * | getRenderDevice () const |
C3D_API ControlsManager * | getControlsManager () const |
C3D_API UploadData & | getUploadData () const noexcept |
C3D_API ast::ShaderAllocator & | getShaderAllocator () |
castor::String const & | getAppName () const noexcept |
Version const & | getAppVersion () const noexcept |
bool | isShaderValidationEnabled () const noexcept |
bool | isValidationEnabled () const noexcept |
uint32_t | getShaderDebugLevel () const noexcept |
bool | areUpdateOptimisationsEnabled () const noexcept |
bool | isRandomisationEnabled () const noexcept |
bool | isApiTraceEnabled () const noexcept |
bool | areTextShadersKept () const noexcept |
bool | areDebugTargetsEnabled () 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 |
RenderSystem * | getRenderSystem () const noexcept |
auto | getDefaultSampler () const noexcept |
auto | getLightsSampler () const noexcept |
auto const & | getAdditionalParsers () const noexcept |
Version const & | getVersion () const noexcept |
bool | hasRenderLoop () const noexcept |
RenderLoop & | getRenderLoop () const noexcept |
bool | isThreaded () const noexcept |
MeshFactory & | getMeshFactory () const noexcept |
PassFactory & | getPassFactory () const noexcept |
PassComponentRegister & | getPassComponentsRegister () const noexcept |
SubmeshComponentRegister & | getSubmeshComponentsRegister () const noexcept |
ImporterFileFactory & | getImporterFileFactory () const noexcept |
ParticleFactory & | getParticleFactory () 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 |
auto const & | getRenderWindows () const noexcept |
crg::ResourceHandler & | getGraphResourceHandler () noexcept |
LightingModelFactory & | getLightingModelFactory () const noexcept |
shader::BackgroundModelFactory const & | getBackgroundModelFactory () const noexcept |
shader::BackgroundModelFactory & | getBackgroundModelFactory () noexcept |
SceneRPtr | getLoadingScene () const noexcept |
Texture const & | getPrefilteredBrdfTexture () const noexcept |
castor::LengthUnit | getLengthUnit () const noexcept |
Mutators. | |
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 const &createPlugin=&ComponentT::createPlugin) |
template<typename ComponentT > | |
SubmeshComponentID | registerSubmeshComponent (CreateSubmeshComponentPlugin const &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) noexcept |
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 noexcept |
template<typename ... ParametersT> | |
castor::ImageCache::ElementObsT | tryAddImage (castor::ImageCache::ElementKeyT const &name, bool initialise, castor::ImageCache::ElementObsT &created, ParametersT &&... parameters) |
Static Public Member Functions | |
static C3D_API castor::Path | getPluginsDirectory () |
Retrieves plug-ins path. | |
static C3D_API castor::Path | getEngineDirectory () |
Gives the Castor directory. | |
static C3D_API castor::Path | getDataDirectory () |
Retrieves data path. | |
static C3D_API std::locale const & | getLocale () |
Retrieves data path. | |
Additional Inherited Members | |
Protected Member Functions inherited from castor::Unique< Engine > | |
Unique (Engine *pThis) | |
Constructor. | |
~Unique () noexcept | |
Destructor. | |
|
explicit |
Constructor.
[in] | config | The engine configuration. |
C3D_API castor3d::Engine::Engine | ( | EngineConfig | config, |
castor::LoggerInstance & | logger ) |
Constructor.
[in] | config | The engine configuration. |
[in] | logger | The logger instance. |
|
noexcept |
Destructor.
|
inline |
References castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::add(), getFontCache(), and initialise().
|
inline |
References castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::add(), getImageCache(), and initialise().
|
inline |
References castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::add(), and getFontCache().
|
inline |
References castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::add(), and getImageCache().
C3D_API void castor3d::Engine::addSpecificsBuffersBindings | ( | ashes::VkDescriptorSetLayoutBindingArray & | bindings, |
VkShaderStageFlags | shaderStages, | ||
uint32_t & | index ) const |
Addw the pass' specific data buffer into the given descriptor layout bindings array.
[in,out] | bindings | Receives the buffers descriptor layout bindings. |
[in] | shaderStages | The shader stage flags. |
[in,out] | index | The binding index. |
C3D_API void castor3d::Engine::addSpecificsBuffersDescriptors | ( | ashes::WriteDescriptorSetArray & | descriptorWrites, |
uint32_t & | index ) const |
Writes the pass' specific data buffer into the given descriptor writes array.
[in,out] | descriptorWrites | Receives the buffers descriptor writes. |
[in,out] | index | The binding index. |
|
inlinenoexcept |
References castor3d::EngineConfig::enableDebugTargets.
|
inlinenoexcept |
References castor3d::EngineConfig::keepTextShaders.
|
inlinenoexcept |
C3D_API void castor3d::Engine::cleanup | ( | ) |
Cleanup function, destroys everything created from the beginning.
Referenced by removeFont(), and removeImage().
|
inline |
References castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::create(), and getFontCache().
|
inline |
References castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::create(), and getImageCache().
C3D_API void castor3d::Engine::createSpecificsBuffersPassBindings | ( | crg::FramePass & | pass, |
uint32_t & | index ) const |
Writes the pass' specific data buffer bindings into given frame pass.
[in,out] | pass | The target frame pass. |
[in,out] | index | The binding index. |
C3D_API void castor3d::Engine::declareSpecificsShaderBuffers | ( | sdw::ShaderWriter & | writer, |
castor::StringMap< castor3d::shader::BufferBaseUPtr > & | buffers, | ||
uint32_t & | binding, | ||
uint32_t | set ) const |
Declares pass' specific data shader buffers.
[in,out] | writer | The shader writer. |
[out] | buffers | Receives the registered shader buffers. |
[in,out] | binding | The descriptor binding index. |
[in] | set | The descriptor set index. |
|
inline |
References castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::find(), and getFontCache().
|
inline |
References castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::find(), and getImageCache().
C3D_API bool castor3d::Engine::fireMouseMove | ( | castor::Position const & | position, |
bool | ctrl, | ||
bool | alt, | ||
bool | shift ) |
Fires a mouse move event.
[in] | position | The mouse position. |
[in] | ctrl | Tells if the Ctrl key is down. |
[in] | alt | Tells if the Alt key is down. |
[in] | shift | Tells if the Shift key is down. |
true
if the event is processed by a handler.
|
inlinenoexcept |
|
inlinenoexcept |
References castor3d::EngineConfig::appName.
|
inlinenoexcept |
References castor3d::EngineConfig::appVersion.
|
inlinenoexcept |
|
inlinenoexcept |
C3D_API ControlsManager * castor3d::Engine::getControlsManager | ( | ) | const |
|
inlinenoexcept |
|
static |
Retrieves data path.
|
inlinenoexcept |
C3D_API castor::String castor3d::Engine::getDefaultLightingModelName | ( | ) | const |
C3D_API castor3d::MaterialObs castor3d::Engine::getDefaultMaterial | ( | ) | const |
|
inlinenoexcept |
|
static |
Gives the Castor directory.
|
inlinenoexcept |
Referenced by addFont(), addNewFont(), createFont(), findFont(), hasFont(), removeFont(), and tryFindFont().
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
Referenced by addImage(), addNewImage(), createImage(), findImage(), hasImage(), removeImage(), tryAddImage(), and tryFindImage().
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
static |
Retrieves data path.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
C3D_API uint32_t castor3d::Engine::getMaxPassTypeCount | ( | ) | const |
|
inlinenoexcept |
C3D_API castor::RgbaColour castor3d::Engine::getNextRainbowColour | ( | ) | const |
Retrieves a colour issued from a rainbow colours iterator.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
static |
Retrieves plug-ins path.
C3D_API PostEffectFactory & castor3d::Engine::getPostEffectFactory | ( | ) |
C3D_API PostEffectFactory const & castor3d::Engine::getPostEffectFactory | ( | ) | const |
|
inlinenoexcept |
C3D_API RenderDevice * castor3d::Engine::getRenderDevice | ( | ) | const |
|
inlinenoexcept |
|
inlinenoexcept |
C3D_API RenderPassRegisterInfo * castor3d::Engine::getRenderPassInfo | ( | castor::String const & | renderPassType | ) | const |
Retrieves a scene render pass type's creation informations.
[in] | renderPassType | The pass type name. |
C3D_API castor::Vector< RenderPassRegisterInfo * > castor3d::Engine::getRenderPassInfos | ( | TechniquePassEvent | event | ) | const |
Retrieves the scene render passes type creation informations.
[in] | event | The event type for wanted passes. |
C3D_API Parameters castor3d::Engine::getRenderPassTypeConfiguration | ( | castor::String const & | renderPassType | ) | const |
Retrieve a scene render pass type's configuration parameters.
[in] | renderPassType | The pass type name. |
C3D_API RenderPassTypeID castor3d::Engine::getRenderPassTypeID | ( | castor::String const & | renderPassType | ) | const |
Retrieves the ID for given scene render pass type name.
[in] | renderPassType | The pass type name. |
|
inlinenoexcept |
|
inlinenoexcept |
C3D_API ast::ShaderAllocator & castor3d::Engine::getShaderAllocator | ( | ) |
|
inlinenoexcept |
References castor3d::EngineConfig::shaderDebugLevel.
|
inlinenoexcept |
C3D_API ToneMappingFactory & castor3d::Engine::getToneMappingFactory | ( | ) |
C3D_API ToneMappingFactory const & castor3d::Engine::getToneMappingFactory | ( | ) | const |
|
noexcept |
|
inlinenoexcept |
|
inlinenoexcept |
C3D_API uint32_t castor3d::Engine::getWantedFps | ( | ) | const |
|
inline |
References getFontCache(), and castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::has().
|
inline |
References getImageCache(), and castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::has().
C3D_API bool castor3d::Engine::hasMeshShaders | ( | ) | const |
|
inlinenoexcept |
C3D_API void castor3d::Engine::initialise | ( | uint32_t | wantedFPS = 100, |
bool | threaded = false ) |
Initialisation function, Sets the wanted frame rate.
[in] | wantedFPS | The wanted FPS count |
[in] | threaded | If false , the render can't be threaded |
Referenced by addFont(), addImage(), and tryAddImage().
|
inlinenoexcept |
References castor3d::EngineConfig::enableApiTrace.
|
noexcept |
Retrieves the cleanup status.
true
if cleaned up
|
inlinenoexcept |
References castor3d::EngineConfig::enableRandom.
|
inlinenoexcept |
References castor3d::EngineConfig::enableShaderValidation.
|
inlinenoexcept |
|
inlinenoexcept |
References castor3d::EngineConfig::enableValidation.
C3D_API bool castor3d::Engine::loadRenderer | ( | castor::String const & | type | ) |
Loads a renderer plug-in, given the renderer type.
[in] | type | The renderer type. |
true
if ok Loads a renderer plug-in, given the renderer type.
[in] | renderer | The renderer. |
C3D_API CpuFrameEvent * castor3d::Engine::postEvent | ( | CpuFrameEventUPtr | event | ) | const |
Posts a frame event to the default frame listener.
[in] | event | The event to add |
C3D_API GpuFrameEvent * castor3d::Engine::postEvent | ( | GpuFrameEventUPtr | event | ) | const |
Posts a frame event to the default frame listener.
[in] | event | The event to add |
C3D_API void castor3d::Engine::pushCpuJob | ( | castor::AsyncJobQueue::Job | job | ) |
Enqueues the given CPU job.
[in] | job | The job to execute. |
C3D_API BackgroundModelID castor3d::Engine::registerBackgroundModel | ( | castor::String const & | name, |
shader::BackgroundModelCreator | creator ) |
Registers a Background Model.
[in] | name | The model name. |
[in] | creator | The model creation function. |
C3D_API void castor3d::Engine::registerBuffer | ( | ShaderBuffer const & | buffer | ) |
Registers a ShaderBuffer.
[in] | buffer | The ShaderBuffer. |
C3D_API LightingModelID castor3d::Engine::registerLightingModel | ( | castor::String const & | name, |
shader::LightingModelCreator | creator, | ||
BackgroundModelID | backgroundModelId ) const |
Registers a Lighting Model.
[in] | name | The model name. |
[in] | backgroundModelId | The background model ID. |
[in] | creator | The model creation function. |
C3D_API void castor3d::Engine::registerParsers | ( | castor::String | name, |
castor::AttributeParsers | parsers, | ||
castor::StrUInt32Map | sections, | ||
castor::UserContextCreator | contextCreator ) |
Registers additional parsers for SceneFileParser.
[in] | name | The registering name. |
[in] | parsers | The parsers. |
[in] | sections | The sections. |
[in] | contextCreator | The user parser context creation function. |
C3D_API PassComponentID castor3d::Engine::registerPassComponent | ( | castor::String const & | type, |
PassComponentPluginUPtr | componentPlugin ) const |
Registers a pass component.
[in] | type | The component type name. |
[in] | componentPlugin | The component's specific functions. |
Referenced by registerPassComponent().
|
inline |
C3D_API void castor3d::Engine::registerPassModel | ( | BackgroundModelID | backgroundModelId, |
PassRegisterInfo const & | info ) const |
Registers the pass info with given background model.
[in] | backgroundModelId | The background model. |
[in] | info | The pass registering info. |
C3D_API void castor3d::Engine::registerPassModels | ( | PassRegisterInfo const & | info | ) | const |
Registers the given pass info with all background models.
[in] | info | The pass registering info. |
C3D_API void castor3d::Engine::registerRenderPassType | ( | castor::String const & | renderPassType, |
castor::UniquePtr< RenderPassRegisterInfo > | info ) |
Registers a scene render pass type, used to render given material pass type.
[in] | renderPassType | The pass type name. |
[in] | info | The pass creation informations. |
C3D_API void castor3d::Engine::registerSpecificsBuffer | ( | castor::String const & | name, |
castor3d::SpecificsBuffer | buffer ) const |
Registers a specific data shader buffer.
[in,out] | name | The shader buffer name. |
[out] | buffer | The shader buffer. |
C3D_API SubmeshComponentID castor3d::Engine::registerSubmeshComponent | ( | castor::String const & | type, |
SubmeshComponentPluginUPtr | componentPlugin ) const |
Registers a pass component.
[in] | type | The component type name. |
[in] | componentPlugin | The component's specific functions. |
Referenced by registerSubmeshComponent().
|
inline |
C3D_API void castor3d::Engine::registerTimer | ( | castor::String const & | category, |
FramePassTimer & | timer ) |
Registers a render pass timer.
[in] | category | The timer category name. |
[in] | timer | The timer to register. |
C3D_API void castor3d::Engine::registerWindow | ( | RenderWindow & | window | ) |
Registers a RenderWindow.
[in] | window | The RenderWindow. |
|
inline |
References cleanup(), getFontCache(), and castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::remove().
|
inlinenoexcept |
References cleanup(), getImageCache(), and castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::remove().
C3D_API void castor3d::Engine::sendEvent | ( | GpuFrameEventUPtr | event | ) | const |
If a device is enabled, executes the given event, if not posts it to the default frame listener.
[in] | event | The event. |
|
noexcept |
Tells the engine is cleaned up.
|
inlinenoexcept |
|
inlinenoexcept |
C3D_API void castor3d::Engine::setLoadingScene | ( | SceneUPtr | scene | ) |
|
inlinenoexcept |
|
inlinenoexcept |
C3D_API void castor3d::Engine::setRenderPassTypeConfiguration | ( | castor::String const & | renderPassType, |
Parameters | parameters ) |
Registers a scene render pass type's configuration parameters.
[in] | renderPassType | The pass type name. |
[in] | parameters | The pass configuration parameters. |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
References getImageCache(), initialise(), and castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::tryAdd().
|
inline |
References getFontCache(), and castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::tryFind().
|
inlinenoexcept |
References getImageCache(), and castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::tryFind().
C3D_API BackgroundModelID castor3d::Engine::unregisterBackgroundModel | ( | castor::String const & | name | ) |
Unregisters a Background Model.
[in] | name | The model name. |
C3D_API void castor3d::Engine::unregisterBuffer | ( | ShaderBuffer const & | buffer | ) |
Unregisters a ShaderBuffer.
[in] | buffer | The ShaderBuffer. |
C3D_API void castor3d::Engine::unregisterLightingModel | ( | castor::String const & | name, |
BackgroundModelID | backgroundModelId ) const |
Unregisters a Lighting Model.
[in] | name | The model name. |
[in] | backgroundModelId | The background model ID. |
C3D_API void castor3d::Engine::unregisterLightingModel | ( | LightingModelID | lightingModelId, |
BackgroundModelID | backgroundModelId ) const |
Unregisters a combination of Lighting Model and Background Model.
[in] | lightingModelId | The lighting model ID. |
[in] | backgroundModelId | The bavkground model ID. |
|
noexcept |
Unregisters parsers for SceneFileParser.
[in] | name | The registering name. |
C3D_API void castor3d::Engine::unregisterPassComponent | ( | castor::String const & | type | ) | const |
Unregisters a pass component.
[in] | type | The component type name. |
C3D_API void castor3d::Engine::unregisterPassModel | ( | BackgroundModelID | backgroundModelId, |
LightingModelID | lightingModelId ) const |
Unregisters a combination of lighting model and background model.
[in] | backgroundModelId | The background model. |
[in] | lightingModelId | The lighting model. |
C3D_API void castor3d::Engine::unregisterPassModels | ( | castor::String const & | type | ) | const |
Unregisters all combinations of given lighting model and background models.
[in] | type | The lighting model name. |
C3D_API void castor3d::Engine::unregisterRenderPassType | ( | castor::String const & | renderPassType | ) |
Unregisters a scene render pass type.
[in] | renderPassType | The pass type name. |
C3D_API void castor3d::Engine::unregisterSpecificsBuffer | ( | castor::String const & | name | ) | const |
Unregisters a pass' specific data buffer.
[in,out] | name | The shader buffer name. |
C3D_API void castor3d::Engine::unregisterSubmeshComponent | ( | castor::String const & | type | ) | const |
Unregisters a pass component.
[in] | type | The component type name. |
|
noexcept |
Unregisters a render pass timer.
[in] | category | The timer category name. |
[in] | timer | The timer to unregister. |
C3D_API void castor3d::Engine::unregisterWindow | ( | RenderWindow const & | window | ) |
Unregisters a RenderWindow.
[in] | window | The RenderWindow. |
C3D_API void castor3d::Engine::update | ( | CpuUpdater & | updater | ) |
Updates the engine, CPU wise.
[in,out] | updater | The update data. |
C3D_API void castor3d::Engine::update | ( | GpuUpdater & | updater | ) |
Updates the engine, GPU wise.
[in,out] | updater | The update data. |
C3D_API void castor3d::Engine::upload | ( | UploadData & | uploader | ) |
Updates the buffers.
[in,out] | uploader | Receives the upload requests. |