Castor3D 0.15.0
Multiplatform 3D engine
Fonctions membres publiques | Attributs publics | Attributs publics 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 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 (PipelineVisitor &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 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 (PipelineFlags const &flags, ashes::VkDescriptorSetLayoutBindingArray &bindings, uint32_t &index) const
 Ajoute les bindings spécifiques au fond.
 
C3D_API void addDescriptors (PipelineFlags const &flags, 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
 
ashes::ImageView const & getView () 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
 

Attributs publics

OnBackgroundChanged onChanged
 

Attributs publics statiques

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

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 {}
 
std::unique_ptr< IblTexturesm_ibl
 
bool m_hasIBLSupport
 
bool m_visible { true }
 
uint32_t m_passIndex { 0u }
 

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 ( PipelineVisitor visitor)
pure virtual

Fonction d'acceptation de visiteur.

Paramètres
visitorLe visiteur.

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

◆ addBindings()

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

Ajoute les bindings spécifiques au fond.

Paramètres
flagsLes indicateurs de pipeline.
bindingsReçoit les bindings.
indexL'indice de départ des bindings.

◆ addDescriptors()

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

Ajoute les descripteurs spécifiques au fond.

Paramètres
flagsLes indicateurs de pipeline.
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  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.
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 m_ibl.

◆ getImage()

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

Références 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 m_sampler.

◆ getScene()

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

Références m_scene.

◆ getTexture()

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

Références m_texture.

◆ getType()

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

Références m_type.

◆ getView()

ashes::ImageView const & castor3d::SceneBackground::getView ( ) const
inline

Références m_texture.

◆ 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.

◆ 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.

◆ 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
inlinestaticconstexpr

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

std::unique_ptr< 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_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

◆ 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
inlinestaticconstexpr

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


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