Castor3D 0.17.0
Multiplatform 3D engine
Public Member Functions | List of all members
castor3d::ImageBackground Class Reference

#include <Image.hpp>

Inheritance diagram for castor3d::ImageBackground:
Inheritance graph
[legend]
Collaboration diagram for castor3d::ImageBackground:
Collaboration graph
[legend]

Public Member Functions

C3D_API ImageBackground (Engine &engine, Scene &scene, castor::String const &name=castor::String{})
 Constructor.
 
C3D_API void accept (BackgroundVisitor &visitor) override
 Visitor acceptance function.
 
C3D_API void accept (ConfigurationVisitorBase &visitor) override
 Visitor acceptance function.
 
C3D_API bool write (castor::String const &tabs, castor::Path const &folder, castor::StringStream &stream) const override
 Writes the background to a text stream.
 
C3D_API bool setImage (castor::Path const &folder, castor::Path const &relative)
 
castor::String const & getModelName () const override
 
castor::Path const & getImagePath () const noexcept
 
- Public Member Functions inherited from castor3d::SceneBackground
C3D_API SceneBackground (Engine &engine, Scene &scene, castor::String const &name, castor::String type, bool hasIBLSupport)
 Constructor.
 
virtual C3D_API ~SceneBackground ()
 Destructor.
 
C3D_API bool initialise (RenderDevice const &device)
 Initialisation function.
 
C3D_API void cleanup ()
 Cleanup function.
 
C3D_API void update (CpuUpdater &updater) const
 Updates the background, CPU side.
 
C3D_API void update (GpuUpdater &updater) const
 Updates the background, GPU side.
 
C3D_API void upload (UploadData &uploader)
 Uploads image data to the texture buffer.
 
C3D_API void notifyChanged ()
 Notifies a change to apply on GPU for the background.
 
virtual C3D_API crg::FramePass & createBackgroundPass (crg::FramePassGroup &graph, RenderDevice const &device, ProgressBar *progress, VkExtent2D const &size, crg::ImageViewIdArray const &colour, crg::ImageViewIdArray const &depth, crg::ImageViewId const *depthObj, UniformBufferOffsetT< ModelBufferConfiguration > const &modelUbo, CameraUbo const &cameraUbo, HdrConfigUbo const &hdrConfigUbo, SceneUbo const &sceneUbo, bool clearColour, bool clearDepth, bool forceVisible, BackgroundPassBase *&backgroundPass)
 Creates the background render pass.
 
C3D_API void addPassBindings (crg::FramePass &pass, crg::ImageViewIdArray const &targetImage, uint32_t &index) const
 Adds the background specific bindings to a frame pass.
 
C3D_API void addBindings (ashes::VkDescriptorSetLayoutBindingArray &bindings, VkShaderStageFlags shaderStages, uint32_t &index) const
 Adds the background specific bindings.
 
C3D_API void addDescriptors (ashes::WriteDescriptorSetArray &descriptorWrites, crg::ImageViewIdArray const &targetImage, uint32_t &index) const
 Adds the background specific descriptors.
 
C3D_API BackgroundModelID getModelID () const
 
void setVisible (bool v) noexcept
 
void showIrradiance (bool v) noexcept
 
virtual bool isDepthSampled () const noexcept
 
virtual bool hasScattering () const noexcept
 
ScenegetScene () const noexcept
 
castor::String const & getType () const noexcept
 
TextureLayoutgetTexture () const noexcept
 
ashes::Image const & getImage () const
 
bool isHdr () const noexcept
 
bool isSRGB () const noexcept
 
bool hasIbl () const noexcept
 
bool isInitialised () const noexcept
 
bool isVisible () const noexcept
 
bool isIrradianceShown () const noexcept
 
IblTextures const & getIbl () const noexcept
 
Sampler const & getSampler () const noexcept
 
uint32_t const & getPassIndex (bool forceVisible) const noexcept
 
- Public Member Functions inherited from castor::OwnedBy< Engine >
Engine * getOwner () const noexcept
 
void setOwner (Engine &owner) noexcept
 
- Public Member Functions inherited from castor::NamedBaseT< T >
 NamedBaseT (T name) noexcept
 Constructor.
 
T const & getName () const noexcept
 Retrieves the name.
 
void rename (T name) noexcept
 

Additional Inherited Members

- Public Attributes inherited from castor3d::SceneBackground
OnBackgroundChanged onChanged
 
- Static Public Attributes inherited from castor3d::SceneBackground
static uint32_t constexpr VisiblePassIndex = 0u
 
static uint32_t constexpr IrradiancePassIndex = 1u
 
static uint32_t constexpr HiddenPassIndex = 2u
 
static uint32_t constexpr PassCount = 3u
 
- Protected Member Functions inherited from castor::OwnedBy< Engine >
 OwnedBy (Engine &owner) noexcept
 Constructor.
 
- Static Protected Member Functions inherited from castor3d::SceneBackground
static C3D_API castor::PxBufferBaseUPtr adaptBuffer (castor::PxBufferBase const &buffer, castor::String const &name, bool generateMips)
 
static C3D_API castor::ImageUPtr loadImage (Engine &engine, castor::String const &name, castor::Path const &folder, castor::Path const &relative, bool generateMips)
 
- Protected Attributes inherited from castor3d::SceneBackground
Scenem_scene
 
castor::String m_type
 
std::atomic_bool m_initialised { false }
 
bool m_hdr { true }
 
bool m_srgb { false }
 
Texture m_textureId
 
TextureLayoutUPtr m_texture
 
SamplerObs m_sampler {}
 
castor::RawUniquePtr< IblTexturesm_ibl
 
bool m_hasIBLSupport
 
bool m_visible { true }
 
bool m_showIrradiance { false }
 
uint32_t m_passIndex { 0u }
 
bool m_needsUpload {}
 
- Protected Attributes inherited from castor::NamedBaseT< T >
m_name
 

Constructor & Destructor Documentation

◆ ImageBackground()

C3D_API castor3d::ImageBackground::ImageBackground ( Engine & engine,
Scene & scene,
castor::String const & name = castor::String{} )
explicit

Constructor.

Parameters
[in]engineThe engine.
[in]sceneThe parent scene.
nameThe background name.

Member Function Documentation

◆ accept() [1/2]

C3D_API void castor3d::ImageBackground::accept ( BackgroundVisitor & visitor)
overridevirtual

Visitor acceptance function.

Parameters
visitorThe visitor.

Implements castor3d::SceneBackground.

◆ accept() [2/2]

C3D_API void castor3d::ImageBackground::accept ( ConfigurationVisitorBase & visitor)
overridevirtual

Visitor acceptance function.

Parameters
visitorThe visitor.

Implements castor3d::SceneBackground.

◆ getImagePath()

castor::Path const & castor3d::ImageBackground::getImagePath ( ) const
inlinenoexcept

◆ getModelName()

castor::String const & castor3d::ImageBackground::getModelName ( ) const
overridevirtual

Returns
The background model name.

Reimplemented from castor3d::SceneBackground.

◆ setImage()

C3D_API bool castor3d::ImageBackground::setImage ( castor::Path const & folder,
castor::Path const & relative )
Returns
Sets the texture image.
Parameters
[in]folderThe image folder.
[in]relativeThe image file path, relative to folder.

◆ write()

C3D_API bool castor3d::ImageBackground::write ( castor::String const & tabs,
castor::Path const & folder,
castor::StringStream & stream ) const
overridevirtual

Writes the background to a text stream.

Parameters
tabsThe current indentation.
folderThe working folder.
streamThe text stream.

Implements castor3d::SceneBackground.


The documentation for this class was generated from the following file: