![]() |
Castor3D 0.17.0
Multiplatform 3D engine
|
#include <Skybox.hpp>


Public Member Functions | |
| C3D_API | SkyboxBackground (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 void | setLeftImage (castor::Path const &folder, castor::Path const &relative) |
| Sets the skybox's left face texture. | |
| C3D_API void | setRightImage (castor::Path const &folder, castor::Path const &relative) |
| Sets the skybox's right face texture. | |
| C3D_API void | setTopImage (castor::Path const &folder, castor::Path const &relative) |
| Sets the skybox's top face texture. | |
| C3D_API void | setBottomImage (castor::Path const &folder, castor::Path const &relative) |
| Sets the skybox's bottom face texture. | |
| C3D_API void | setFrontImage (castor::Path const &folder, castor::Path const &relative) |
| Sets the skybox's front face texture. | |
| C3D_API void | setBackImage (castor::Path const &folder, castor::Path const &relative) |
| Sets the skybox's back face texture. | |
| C3D_API void | setFaceTexture (castor::Path const &folder, castor::Path const &relative, SkyboxFace face) |
| Sets a skybox's face texture. | |
| C3D_API void | setEquiTexture (castor::Path const &folder, castor::Path const &relative, uint32_t size) |
| Sets the skybox's equirectangular texture. | |
| C3D_API void | setEquiSize (uint32_t size) |
| Sets the size of the skybox generated from the equirectangular texture. | |
| C3D_API void | setCrossTexture (castor::Path const &folder, castor::Path const &relative) |
| Sets the skybox's cross texture. | |
| castor::Path const & | getEquiTexturePath () const |
| castor::Size const & | getEquiSize () const |
| castor::Path const & | getCrossTexturePath () const |
| castor::Array< castor::Path, 6u > const & | getLayerTexturePath () const |
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. | |
| virtual C3D_API castor::String const & | getModelName () const |
| 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 |
| Scene & | getScene () const noexcept |
| castor::String const & | getType () const noexcept |
| TextureLayout & | getTexture () 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 |
Static Public Member Functions | |
| static C3D_API void | addParsers (castor::AttributeParsers &result) |
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 | |
| Scene & | m_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< IblTextures > | m_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 > | |
| T | m_name |
|
explicit |
Constructor.
| [in] | engine | The engine. |
| [in] | scene | The parent scene. |
| name | The background name. |
|
overridevirtual |
|
overridevirtual |
|
static |
|
inline |
|
inline |
|
inline |
name Getters.
|
inline |
| C3D_API void castor3d::SkyboxBackground::setBackImage | ( | castor::Path const & | folder, |
| castor::Path const & | relative ) |
Sets the skybox's back face texture.
| [in] | folder | The image folder. |
| [in] | relative | The image file path, relative to folder. |
| C3D_API void castor3d::SkyboxBackground::setBottomImage | ( | castor::Path const & | folder, |
| castor::Path const & | relative ) |
Sets the skybox's bottom face texture.
| [in] | folder | The image folder. |
| [in] | relative | The image file path, relative to folder. |
| C3D_API void castor3d::SkyboxBackground::setCrossTexture | ( | castor::Path const & | folder, |
| castor::Path const & | relative ) |
Sets the skybox's cross texture.
| [in] | folder | The image folder. |
| [in] | relative | The image file path, relative to folder. |
| C3D_API void castor3d::SkyboxBackground::setEquiSize | ( | uint32_t | size | ) |
Sets the size of the skybox generated from the equirectangular texture.
| [in] | size | The wanted skybox dimensions. |
| C3D_API void castor3d::SkyboxBackground::setEquiTexture | ( | castor::Path const & | folder, |
| castor::Path const & | relative, | ||
| uint32_t | size ) |
Sets the skybox's equirectangular texture.
| [in] | folder | The image folder. |
| [in] | relative | The image file path, relative to folder. |
| [in] | size | The wanted skybox dimensions. |
| C3D_API void castor3d::SkyboxBackground::setFaceTexture | ( | castor::Path const & | folder, |
| castor::Path const & | relative, | ||
| SkyboxFace | face ) |
Sets a skybox's face texture.
| [in] | folder | The image folder. |
| [in] | relative | The image file path, relative to folder. |
| [in] | face | The face into which the image will be loaded. |
| C3D_API void castor3d::SkyboxBackground::setFrontImage | ( | castor::Path const & | folder, |
| castor::Path const & | relative ) |
Sets the skybox's front face texture.
| [in] | folder | The image folder. |
| [in] | relative | The image file path, relative to folder. |
| C3D_API void castor3d::SkyboxBackground::setLeftImage | ( | castor::Path const & | folder, |
| castor::Path const & | relative ) |
Sets the skybox's left face texture.
| [in] | folder | The image folder. |
| [in] | relative | The image file path, relative to folder. |
| C3D_API void castor3d::SkyboxBackground::setRightImage | ( | castor::Path const & | folder, |
| castor::Path const & | relative ) |
Sets the skybox's right face texture.
| [in] | folder | The image folder. |
| [in] | relative | The image file path, relative to folder. |
| C3D_API void castor3d::SkyboxBackground::setTopImage | ( | castor::Path const & | folder, |
| castor::Path const & | relative ) |
Sets the skybox's top face texture.
| [in] | folder | The image folder. |
| [in] | relative | The image file path, relative to folder. |
|
overridevirtual |
Writes the background to a text stream.
| tabs | The current indentation. |
| folder | The working folder. |
| stream | The text stream. |
Implements castor3d::SceneBackground.