Castor3D 0.16.0
Multiplatform 3D engine
Fonctions membres publiques | Attributs publics | Attributs publics statiques | Fonctions membres protégées statiques | Attributs protégés | Liste de tous les membres
Référence de la classe castor3d::SceneBackgroundabstract

#include <Background.hpp>

Graphe d'héritage de castor3d::SceneBackground:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::SceneBackground:
Collaboration graph
[légende]

Fonctions membres publiques

C3D_API SceneBackground (Engine &engine, Scene &scene, castor::String const &name, castor::String type, bool hasIBLSupport)
 Constructeur.
 
virtual C3D_API ~SceneBackground ()
 Destructeur.
 
C3D_API bool initialise (RenderDevice const &device)
 Fonction d'initialisation.
 
C3D_API void cleanup ()
 Fonction de nettoyage.
 
C3D_API void update (CpuUpdater &updater) const
 Met à jour le fond, niveau CPU.
 
C3D_API void update (GpuUpdater &updater) const
 Met à jour le fond, niveau GPU.
 
C3D_API void upload (UploadData &uploader)
 Upload les données d'image dans le buffer de la texture.
 
C3D_API void notifyChanged ()
 Notifie un changement affectant le GPU pour le fond.
 
virtual C3D_API void accept (BackgroundVisitor &visitor)=0
 Fonction d'acceptation de visiteur.
 
virtual C3D_API void accept (ConfigurationVisitorBase &visitor)=0
 Fonction d'acceptation de visiteur.
 
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)
 Crée la passe de rendu du fond.
 
C3D_API void addPassBindings (crg::FramePass &pass, crg::ImageViewIdArray const &targetImage, uint32_t &index) const
 Ajoute les bindings spécifiques au fond à une passe de frame.
 
C3D_API void addBindings (ashes::VkDescriptorSetLayoutBindingArray &bindings, VkShaderStageFlags shaderStages, uint32_t &index) const
 Ajoute les bindings spécifiques au fond.
 
C3D_API void addDescriptors (ashes::WriteDescriptorSetArray &descriptorWrites, crg::ImageViewIdArray const &targetImage, uint32_t &index) const
 Ajoute les descripteurs spécifiques au fond.
 
virtual C3D_API castor::String const & getModelName () const
 
C3D_API BackgroundModelID getModelID () const
 
virtual C3D_API bool write (castor::String const &tabs, castor::Path const &folder, castor::StringStream &stream) const =0
 Ecrit le fond dans un flux texte.
 
void setVisible (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
 
IblTextures const & getIbl () const noexcept
 
Sampler const & getSampler () const noexcept
 
uint32_t const & getPassIndex (bool forceVisible) const noexcept
 
- Fonctions membres publiques hérités de castor::OwnedBy< Engine >
Engine * getOwner () const
 L'objet propriétaire.
 
- Fonctions membres publiques hérités de castor::NamedBaseT< T >
 NamedBaseT (T name) noexcept
 Constructeur.
 
T const & getName () const noexcept
 Récupère le nom.
 
void rename (T name) noexcept
 

Attributs publics

OnBackgroundChanged onChanged
 

Attributs publics statiques

static uint32_t constexpr VisiblePassIndex = 0u
 
static uint32_t constexpr HiddenPassIndex = 1u
 

Fonctions membres protégées statiques

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)
 

Attributs protégés

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 }
 
uint32_t m_passIndex { 0u }
 
bool m_needsUpload {}
 
- Attributs protégés hérités de castor::NamedBaseT< T >
m_name
 

Membres hérités additionnels

- Fonctions membres protégées hérités de castor::OwnedBy< Engine >
 OwnedBy (Engine &owner)
 Constructeur.
 

Documentation des constructeurs et destructeur

◆ SceneBackground()

C3D_API castor3d::SceneBackground::SceneBackground ( Engine & engine,
Scene & scene,
castor::String const & name,
castor::String type,
bool hasIBLSupport )
explicit

Constructeur.

Paramètres
engineLe moteur.
sceneLa scène parente.
nameLe nom du fond.
typeLe type de fond.
hasIBLSupportDit si le fond supporte l'IBL.

◆ ~SceneBackground()

virtual C3D_API castor3d::SceneBackground::~SceneBackground ( )
virtual

Destructeur.

Documentation des fonctions membres

◆ accept() [1/2]

virtual C3D_API void castor3d::SceneBackground::accept ( BackgroundVisitor & visitor)
pure virtual

Fonction d'acceptation de visiteur.

Paramètres
visitorLe visiteur.

Implémenté dans castor3d::ColourBackground, castor3d::ImageBackground, et castor3d::SkyboxBackground.

◆ accept() [2/2]

virtual C3D_API void castor3d::SceneBackground::accept ( ConfigurationVisitorBase & visitor)
pure virtual

Fonction d'acceptation de visiteur.

Paramètres
visitorLe visiteur.

Implémenté dans castor3d::ColourBackground, castor3d::ImageBackground, et castor3d::SkyboxBackground.

◆ adaptBuffer()

static C3D_API castor::PxBufferBaseUPtr castor3d::SceneBackground::adaptBuffer ( castor::PxBufferBase const & buffer,
castor::String const & name,
bool generateMips )
staticprotected

◆ addBindings()

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

Ajoute les bindings spécifiques au fond.

Paramètres
bindingsReçoit les bindings.
shaderStagesLes shader stages impactés.
indexL'indice de départ des bindings.

◆ addDescriptors()

C3D_API void castor3d::SceneBackground::addDescriptors ( ashes::WriteDescriptorSetArray & descriptorWrites,
crg::ImageViewIdArray const & targetImage,
uint32_t & index ) const

Ajoute les descripteurs spécifiques au fond.

Paramètres
descriptorWritesReçoit les descripteurs.
targetImageL'image dans laquelle cette passe fait son rendu.
indexL'indice de départ des descripteurs.

◆ addPassBindings()

C3D_API void castor3d::SceneBackground::addPassBindings ( crg::FramePass & pass,
crg::ImageViewIdArray const & targetImage,
uint32_t & index ) const

Ajoute les bindings spécifiques au fond à une passe de frame.

Paramètres
passReçoit les bindings.
targetImageL'image dans laquelle cette passe fait son rendu.
indexL'indice de départ des bindings.

◆ cleanup()

C3D_API void castor3d::SceneBackground::cleanup ( )

Fonction de nettoyage.

◆ createBackgroundPass()

virtual C3D_API crg::FramePass & castor3d::SceneBackground::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 )
virtual

Crée la passe de rendu du fond.

Paramètres
graphLe runnable graph.
deviceLe device GPU.
progressLa barre de progression, optionnelle.
sizeLes dimensions de la zone de rendu.
colourLe résultat de couleur.
depthL'image de profondeur, optionnelle.
depthObjL'image de profondeurs de d'objets, optionnelle.
modelUboL'UBO de modèle.
cameraUboL'UBO de matrices.
hdrConfigUboL'UBO de configuration HDR.
sceneUboL'UBO de scène.
clearColourtrue pour vider le résultat de couleur.
clearDepthtrue pour vider le résultat de profondeur.
forceVisibletrue pour forcer l'affichage du fond.
[out]backgroundPassReçoit la passe de rendu du fond.

◆ getIbl()

IblTextures const & castor3d::SceneBackground::getIbl ( ) const
inlinenoexcept

Références CU_Require, et m_ibl.

◆ getImage()

ashes::Image const & castor3d::SceneBackground::getImage ( ) const
inline

Références CU_Require, et m_texture.

◆ getModelID()

C3D_API BackgroundModelID castor3d::SceneBackground::getModelID ( ) const

◆ getModelName()

virtual C3D_API castor::String const & castor3d::SceneBackground::getModelName ( ) const
virtual
Renvoie
Le nom du modèle de fond.

Réimplémentée dans castor3d::ImageBackground.

◆ getPassIndex()

uint32_t const & castor3d::SceneBackground::getPassIndex ( bool forceVisible) const
inlinenoexcept

Références m_passIndex, et VisiblePassIndex.

◆ getSampler()

Sampler const & castor3d::SceneBackground::getSampler ( ) const
inlinenoexcept

Références CU_Require, et m_sampler.

◆ getScene()

Scene & castor3d::SceneBackground::getScene ( ) const
inlinenoexcept

Références m_scene.

◆ getTexture()

TextureLayout & castor3d::SceneBackground::getTexture ( ) const
inlinenoexcept

Références CU_Require, et m_texture.

◆ getType()

castor::String const & castor3d::SceneBackground::getType ( ) const
inlinenoexcept

Références m_type.

◆ hasIbl()

bool castor3d::SceneBackground::hasIbl ( ) const
inlinenoexcept

Références m_ibl.

◆ hasScattering()

virtual bool castor3d::SceneBackground::hasScattering ( ) const
inlinevirtualnoexcept

◆ initialise()

C3D_API bool castor3d::SceneBackground::initialise ( RenderDevice const & device)

Fonction d'initialisation.

Paramètres
[in]deviceLe device actuel.
Renvoie
true if ok.

◆ isDepthSampled()

virtual bool castor3d::SceneBackground::isDepthSampled ( ) const
inlinevirtualnoexcept

name Accesseurs.

◆ isHdr()

bool castor3d::SceneBackground::isHdr ( ) const
inlinenoexcept

Références m_hdr.

◆ isInitialised()

bool castor3d::SceneBackground::isInitialised ( ) const
inlinenoexcept

Références m_initialised.

◆ isSRGB()

bool castor3d::SceneBackground::isSRGB ( ) const
inlinenoexcept

Références m_srgb.

◆ isVisible()

bool castor3d::SceneBackground::isVisible ( ) const
inlinenoexcept

Références m_visible.

◆ loadImage()

static C3D_API castor::ImageUPtr castor3d::SceneBackground::loadImage ( Engine & engine,
castor::String const & name,
castor::Path const & folder,
castor::Path const & relative,
bool generateMips )
staticprotected

◆ notifyChanged()

C3D_API void castor3d::SceneBackground::notifyChanged ( )

Notifie un changement affectant le GPU pour le fond.

◆ setVisible()

void castor3d::SceneBackground::setVisible ( bool v)
inlinenoexcept

name Mutateurs.

Références HiddenPassIndex, m_passIndex, m_visible, et VisiblePassIndex.

◆ update() [1/2]

C3D_API void castor3d::SceneBackground::update ( CpuUpdater & updater) const

Met à jour le fond, niveau CPU.

Paramètres
[in]updaterLes données d'update.

◆ update() [2/2]

C3D_API void castor3d::SceneBackground::update ( GpuUpdater & updater) const

Met à jour le fond, niveau GPU.

Paramètres
[in]updaterLes données d'update.

◆ upload()

C3D_API void castor3d::SceneBackground::upload ( UploadData & uploader)

Upload les données d'image dans le buffer de la texture.

◆ write()

virtual C3D_API bool castor3d::SceneBackground::write ( castor::String const & tabs,
castor::Path const & folder,
castor::StringStream & stream ) const
pure virtual

Ecrit le fond dans un flux texte.

Paramètres
tabsL'indentation actuelle.
folderLe dossier de travail.
streamLe flux.

Implémenté dans castor3d::ColourBackground, castor3d::ImageBackground, et castor3d::SkyboxBackground.

Documentation des données membres

◆ HiddenPassIndex

uint32_t constexpr castor3d::SceneBackground::HiddenPassIndex = 1u
staticconstexpr

Référencé par setVisible().

◆ m_hasIBLSupport

bool castor3d::SceneBackground::m_hasIBLSupport
protected

◆ m_hdr

bool castor3d::SceneBackground::m_hdr { true }
protected

Référencé par isHdr().

◆ m_ibl

castor::RawUniquePtr< IblTextures > castor3d::SceneBackground::m_ibl
protected

Référencé par getIbl(), et hasIbl().

◆ m_initialised

std::atomic_bool castor3d::SceneBackground::m_initialised { false }
protected

Référencé par isInitialised().

◆ m_needsUpload

bool castor3d::SceneBackground::m_needsUpload {}
protected

◆ m_passIndex

uint32_t castor3d::SceneBackground::m_passIndex { 0u }
protected

Référencé par getPassIndex(), et setVisible().

◆ m_sampler

SamplerObs castor3d::SceneBackground::m_sampler {}
protected

Référencé par getSampler().

◆ m_scene

Scene& castor3d::SceneBackground::m_scene
protected

Référencé par getScene().

◆ m_srgb

bool castor3d::SceneBackground::m_srgb { false }
protected

Référencé par isSRGB().

◆ m_texture

TextureLayoutUPtr castor3d::SceneBackground::m_texture
protected

Référencé par getImage(), et getTexture().

◆ m_textureId

Texture castor3d::SceneBackground::m_textureId
protected

◆ m_type

castor::String castor3d::SceneBackground::m_type
protected

Référencé par getType().

◆ m_visible

bool castor3d::SceneBackground::m_visible { true }
protected

Référencé par isVisible(), et setVisible().

◆ onChanged

OnBackgroundChanged castor3d::SceneBackground::onChanged

◆ VisiblePassIndex

uint32_t constexpr castor3d::SceneBackground::VisiblePassIndex = 0u
staticconstexpr

Référencé par getPassIndex(), et setVisible().


La documentation de cette classe a été générée à partir du fichier suivant :