Castor3D 0.15.0
Multiplatform 3D engine
|
#include <Background.hpp>
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 |
Scene & | getScene () const noexcept |
castor::String const & | getType () const noexcept |
TextureLayout & | getTexture () 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 | |
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 {} |
std::unique_ptr< IblTextures > | m_ibl |
bool | m_hasIBLSupport |
bool | m_visible { true } |
uint32_t | m_passIndex { 0u } |
|
explicit |
Constructeur.
engine | Le moteur. |
scene | La scène parente. |
name | Le nom du fond. |
type | Le type de fond. |
hasIBLSupport | Dit si le fond supporte l'IBL. |
|
virtual |
Destructeur.
|
pure virtual |
Fonction d'acceptation de visiteur.
visitor | Le visiteur. |
Implémenté dans castor3d::ColourBackground, castor3d::ImageBackground, et castor3d::SkyboxBackground.
|
pure virtual |
Fonction d'acceptation de visiteur.
visitor | Le visiteur. |
Implémenté dans castor3d::ColourBackground, castor3d::ImageBackground, et castor3d::SkyboxBackground.
C3D_API void castor3d::SceneBackground::addBindings | ( | PipelineFlags const & | flags, |
ashes::VkDescriptorSetLayoutBindingArray & | bindings, | ||
uint32_t & | index | ||
) | const |
Ajoute les bindings spécifiques au fond.
flags | Les indicateurs de pipeline. |
bindings | Reçoit les bindings. |
index | L'indice de départ des bindings. |
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.
flags | Les indicateurs de pipeline. |
descriptorWrites | Reçoit les descripteurs. |
targetImage | L'image dans laquelle cette passe fait son rendu. |
index | L'indice de départ des descripteurs. |
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.
pass | Reçoit les bindings. |
targetImage | L'image dans laquelle cette passe fait son rendu. |
index | L'indice de départ des bindings. |
C3D_API void castor3d::SceneBackground::cleanup | ( | ) |
Fonction de nettoyage.
|
virtual |
Crée la passe de rendu du fond.
graph | Le runnable graph. | |
device | Le device GPU. | |
progress | La barre de progression, optionnelle. | |
size | Les dimensions de la zone de rendu. | |
colour | Le résultat de couleur. | |
depth | L'image de profondeur, optionnelle. | |
depthObj | L'image de profondeurs de d'objets, optionnelle. | |
modelUbo | L'UBO de modèle. | |
cameraUbo | L'UBO de matrices. | |
hdrConfigUbo | L'UBO de configuration HDR. | |
sceneUbo | L'UBO de scène. | |
clearColour | true pour vider le résultat de couleur. | |
forceVisible | true pour forcer l'affichage du fond. | |
[out] | backgroundPass | Reçoit la passe de rendu du fond. |
|
inlinenoexcept |
Références m_ibl.
|
inline |
Références m_texture.
C3D_API BackgroundModelID castor3d::SceneBackground::getModelID | ( | ) | const |
|
virtual |
Réimplémentée dans castor3d::ImageBackground.
|
inlinenoexcept |
Références m_passIndex, et VisiblePassIndex.
|
inlinenoexcept |
Références m_sampler.
|
inlinenoexcept |
Références m_texture.
|
inlinenoexcept |
Références m_type.
|
inline |
Références m_texture.
|
inlinenoexcept |
Références m_ibl.
|
inlinevirtualnoexcept |
C3D_API bool castor3d::SceneBackground::initialise | ( | RenderDevice const & | device | ) |
Fonction d'initialisation.
[in] | device | Le device actuel. |
true
if ok.
|
inlinevirtualnoexcept |
name Accesseurs.
|
inlinenoexcept |
Références m_hdr.
|
inlinenoexcept |
Références m_initialised.
|
inlinenoexcept |
Références m_srgb.
|
inlinenoexcept |
Références m_visible.
C3D_API void castor3d::SceneBackground::notifyChanged | ( | ) |
Notifie un changement affectant le GPU pour le fond.
|
inlinenoexcept |
name Mutateurs.
Références HiddenPassIndex, m_passIndex, m_visible, et VisiblePassIndex.
C3D_API void castor3d::SceneBackground::update | ( | CpuUpdater & | updater | ) | const |
Met à jour le fond, niveau CPU.
[in] | updater | Les données d'update. |
C3D_API void castor3d::SceneBackground::update | ( | GpuUpdater & | updater | ) | const |
Met à jour le fond, niveau GPU.
[in] | updater | Les données d'update. |
|
pure virtual |
Ecrit le fond dans un flux texte.
tabs | L'indentation actuelle. |
folder | Le dossier de travail. |
stream | Le flux. |
Implémenté dans castor3d::ColourBackground, castor3d::ImageBackground, et castor3d::SkyboxBackground.
|
inlinestaticconstexpr |
Référencé par setVisible().
|
protected |
|
protected |
Référencé par isHdr().
|
protected |
|
protected |
Référencé par isInitialised().
|
protected |
Référencé par getPassIndex(), et setVisible().
|
protected |
Référencé par getSampler().
|
protected |
Référencé par getScene().
|
protected |
Référencé par isSRGB().
|
protected |
|
protected |
|
protected |
Référencé par getType().
|
protected |
Référencé par isVisible(), et setVisible().
OnBackgroundChanged castor3d::SceneBackground::onChanged |
|
inlinestaticconstexpr |
Référencé par getPassIndex(), et setVisible().