Castor3D  0.11.0
Multiplatform 3D engine
Classes | Fonctions membres publiques | Attributs publics | Attributs protégés | Attributs protégés statiques | Liste de tous les membres
Référence de la classe castor3d::SceneBackgroundabstract
Graphe d'héritage de castor3d::SceneBackground:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::SceneBackground:
Collaboration graph
[légende]

Classes

struct  Cube
 

Fonctions membres publiques

C3D_API SceneBackground (Engine &engine, Scene &scene, castor::String const &name, BackgroundType type)
 Constructeur. Plus de détails...
 
virtual C3D_API ~SceneBackground ()
 Destructeur. Plus de détails...
 
C3D_API bool initialise (RenderDevice const &device, ashes::RenderPass const &renderPass, HdrConfigUbo const &hdrConfigUbo)
 Fonction d'initialisation. Plus de détails...
 
C3D_API void cleanup (RenderDevice const &device)
 Fonction de nettoyage. Plus de détails...
 
C3D_API void update (CpuUpdater &updater)
 Met à jour le fond, niveau CPU. Plus de détails...
 
C3D_API void update (GpuUpdater &updater)
 Met à jour le fond, niveau GPU. Plus de détails...
 
C3D_API bool prepareFrame (ashes::CommandBuffer &commandBuffer, castor::Size const &size, ashes::RenderPass const &renderPass, ashes::FrameBuffer const &frameBuffer)
 Enregistre les commandes utilisées pour dessiner le fond. Plus de détails...
 
C3D_API bool prepareFrame (ashes::CommandBuffer &commandBuffer, castor::Size const &size, ashes::RenderPass const &renderPass)
 Enregistre les commandes utilisées pour dessiner le fond. Plus de détails...
 
C3D_API bool prepareFrame (ashes::CommandBuffer &commandBuffer, castor::Size const &size, ashes::RenderPass const &renderPass, ashes::DescriptorSet const &uboDescriptorSet, ashes::DescriptorSet const &texDescriptorSet) const
 Enregistre les commandes utilisées pour dessiner le fond. Plus de détails...
 
virtual C3D_API void initialiseDescriptorSets (MatrixUbo &matrixUbo, ModelMatrixUbo const &modelMatrixUbo, HdrConfigUbo const &hdrConfigUbo, ashes::DescriptorSet &uboDescriptorSet, ashes::DescriptorSet &texDescriptorSet) const
 Initialise l'ensemble de descripteurs. Plus de détails...
 
C3D_API RenderPassTimerBlock start ()
 Démarre le timer CPU, réinitialise le temps GPU. Plus de détails...
 
C3D_API void notifyChanged ()
 Notifie un changement affectant le GPU pour le fond. Plus de détails...
 
virtual C3D_API void accept (BackgroundVisitor &visitor)=0
 Fonction d'acceptation de visiteur. Plus de détails...
 
ashes::Semaphore const & getSemaphore () const
 
Scene const & getScene () const
 
ScenegetScene ()
 
BackgroundType getType () const
 
TextureLayout const & getTexture () const
 
TextureLayoutgetTexture ()
 
ashes::Image const & getImage () const
 
ashes::ImageView const & getView () const
 
bool hasIbl () const
 
IblTextures const & getIbl () const
 
ashes::PipelineLayout const & getPipelineLayout () const
 
ashes::GraphicsPipeline const & getPipeline () const
 
ashes::DescriptorSetLayout const & getUboDescriptorLayout () const
 
ashes::DescriptorSetLayout const & getTexDescriptorLayout () const
 
ashes::VertexBuffer< Cube > const & getVertexBuffer () const
 
ashes::Buffer< uint16_t > const & getIndexBuffer () const
 

Attributs publics

OnBackgroundChanged onChanged
 

Attributs protégés

Scenem_scene
 
BackgroundType m_type
 
std::atomic_bool m_initialised { false }
 
bool m_hdr { true }
 
MatrixUbo m_matrixUbo
 
ModelMatrixUbo m_modelMatrixUbo
 
castor::Matrix4x4f m_mtxModel
 
ashes::SemaphorePtr m_semaphore
 
ashes::DescriptorSetLayoutPtr m_uboDescriptorLayout
 
ashes::DescriptorSetPoolPtr m_uboDescriptorPool
 
ashes::DescriptorSetPtr m_uboDescriptorSet
 
ashes::DescriptorSetLayoutPtr m_texDescriptorLayout
 
ashes::DescriptorSetPoolPtr m_texDescriptorPool
 
ashes::DescriptorSetPtr m_texDescriptorSet
 
ashes::PipelineLayoutPtr m_pipelineLayout
 
ashes::GraphicsPipelinePtr m_pipeline
 
ashes::VertexBufferPtr< Cubem_vertexBuffer
 
ashes::BufferPtr< uint16_t > m_indexBuffer
 
RenderPassTimerSPtr m_timer
 
TextureLayoutSPtr m_texture
 
SamplerWPtr m_sampler
 
std::unique_ptr< IblTexturesm_ibl
 

Attributs protégés statiques

static C3D_API uint32_t constexpr UboSetIdx = 0u
 
static C3D_API uint32_t constexpr MtxUboIdx = 0u
 
static C3D_API uint32_t constexpr MdlMtxUboIdx = 1u
 
static C3D_API uint32_t constexpr HdrCfgUboIdx = 2u
 
static C3D_API uint32_t constexpr TexSetIdx = 1u
 
static C3D_API uint32_t constexpr SkyBoxImgIdx = 0u
 

Documentation des constructeurs et destructeur

◆ SceneBackground()

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

Constructeur.

Paramètres
engineLe moteur.
sceneLa scène parente.
nameLe nom du fond.
typeLe type de fond.

◆ ~SceneBackground()

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

Destructeur.

Documentation des fonctions membres

◆ accept()

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

Fonction d'acceptation de visiteur.

Paramètres
visitorLe visiteur.

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

◆ cleanup()

C3D_API void castor3d::SceneBackground::cleanup ( RenderDevice const &  device)

Fonction de nettoyage.

Paramètres
[in]deviceLe device actuel.

◆ getIbl()

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

Références m_ibl.

◆ getImage()

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

Références m_texture.

◆ getIndexBuffer()

ashes::Buffer< uint16_t > const& castor3d::SceneBackground::getIndexBuffer ( ) const
inline

Références m_indexBuffer.

◆ getPipeline()

ashes::GraphicsPipeline const& castor3d::SceneBackground::getPipeline ( ) const
inline

Références m_pipeline.

◆ getPipelineLayout()

ashes::PipelineLayout const& castor3d::SceneBackground::getPipelineLayout ( ) const
inline

Références m_pipelineLayout.

◆ getScene() [1/2]

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

Références m_scene.

◆ getScene() [2/2]

Scene& castor3d::SceneBackground::getScene ( )
inline

Références m_scene.

◆ getSemaphore()

ashes::Semaphore const& castor3d::SceneBackground::getSemaphore ( ) const
inline

name Accesseurs.

Références m_semaphore.

◆ getTexDescriptorLayout()

ashes::DescriptorSetLayout const& castor3d::SceneBackground::getTexDescriptorLayout ( ) const
inline

Références m_texDescriptorLayout.

◆ getTexture() [1/2]

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

Références m_texture.

◆ getTexture() [2/2]

TextureLayout& castor3d::SceneBackground::getTexture ( )
inline

Références m_texture.

◆ getType()

BackgroundType castor3d::SceneBackground::getType ( ) const
inline

Références m_type.

◆ getUboDescriptorLayout()

ashes::DescriptorSetLayout const& castor3d::SceneBackground::getUboDescriptorLayout ( ) const
inline

Références m_uboDescriptorLayout.

◆ getVertexBuffer()

ashes::VertexBuffer< Cube > const& castor3d::SceneBackground::getVertexBuffer ( ) const
inline

Références m_vertexBuffer.

◆ getView()

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

Références m_texture.

◆ hasIbl()

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

Références m_ibl.

◆ initialise()

C3D_API bool castor3d::SceneBackground::initialise ( RenderDevice const &  device,
ashes::RenderPass const &  renderPass,
HdrConfigUbo const &  hdrConfigUbo 
)

Fonction d'initialisation.

Paramètres
[in]deviceLe device actuel.
[in]renderPassLa passe de rendu dans laquelle le fond est dessiné.
[in]hdrConfigUboL'UBO de configuration HDR.
Renvoie
true if ok.

◆ initialiseDescriptorSets()

virtual C3D_API void castor3d::SceneBackground::initialiseDescriptorSets ( MatrixUbo matrixUbo,
ModelMatrixUbo const &  modelMatrixUbo,
HdrConfigUbo const &  hdrConfigUbo,
ashes::DescriptorSet &  uboDescriptorSet,
ashes::DescriptorSet &  texDescriptorSet 
) const
virtual

Initialise l'ensemble de descripteurs.

Paramètres
[in]matrixUboL'UBO des matrices de la scène.
[in]modelMatrixUboL'UBO des matrices de modèle.
[in]hdrConfigUboL'UBO de configuration HDR.
[in]uboDescriptorSetL'ensemble de descripteurs pour les UBO.
[in]texDescriptorSetL'ensemble de descripteurs pour les textures.

◆ notifyChanged()

C3D_API void castor3d::SceneBackground::notifyChanged ( )

Notifie un changement affectant le GPU pour le fond.

◆ prepareFrame() [1/3]

C3D_API bool castor3d::SceneBackground::prepareFrame ( ashes::CommandBuffer &  commandBuffer,
castor::Size const &  size,
ashes::RenderPass const &  renderPass,
ashes::FrameBuffer const &  frameBuffer 
)

Enregistre les commandes utilisées pour dessiner le fond.

Paramètres
[out]commandBufferReçoit les commandes.
[in]sizeLes dimensions de rendu.
[in]renderPassLa passe de rendu dans laquelle le fond est dessiné.
[in]frameBufferLe tampon d'images dans laquelle le fond est dessiné.

◆ prepareFrame() [2/3]

C3D_API bool castor3d::SceneBackground::prepareFrame ( ashes::CommandBuffer &  commandBuffer,
castor::Size const &  size,
ashes::RenderPass const &  renderPass 
)

Enregistre les commandes utilisées pour dessiner le fond.

Paramètres
[out]commandBufferReçoit les commandes.
[in]sizeLes dimensions de rendu.
[in]renderPassLa passe de rendu dans laquelle le fond est dessiné.

◆ prepareFrame() [3/3]

C3D_API bool castor3d::SceneBackground::prepareFrame ( ashes::CommandBuffer &  commandBuffer,
castor::Size const &  size,
ashes::RenderPass const &  renderPass,
ashes::DescriptorSet const &  uboDescriptorSet,
ashes::DescriptorSet const &  texDescriptorSet 
) const

Enregistre les commandes utilisées pour dessiner le fond.

Paramètres
[out]commandBufferReçoit les commandes.
[in]sizeLes dimensions de rendu.
[in]renderPassLa passe de rendu dans laquelle le fond est dessiné.
[in]uboDescriptorSetL'ensemble de descripteurs pour les UBO.
[in]texDescriptorSetL'ensemble de descripteurs pour les textures.

◆ start()

C3D_API RenderPassTimerBlock castor3d::SceneBackground::start ( )

Démarre le timer CPU, réinitialise le temps GPU.

◆ update() [1/2]

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

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)

Met à jour le fond, niveau GPU.

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

Documentation des données membres

◆ HdrCfgUboIdx

C3D_API uint32_t constexpr castor3d::SceneBackground::HdrCfgUboIdx = 2u
staticprotected

◆ m_hdr

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

◆ m_ibl

std::unique_ptr< IblTextures > castor3d::SceneBackground::m_ibl
protected

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

◆ m_indexBuffer

ashes::BufferPtr< uint16_t > castor3d::SceneBackground::m_indexBuffer
protected

Référencé par getIndexBuffer().

◆ m_initialised

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

◆ m_matrixUbo

MatrixUbo castor3d::SceneBackground::m_matrixUbo
protected

◆ m_modelMatrixUbo

ModelMatrixUbo castor3d::SceneBackground::m_modelMatrixUbo
protected

◆ m_mtxModel

castor::Matrix4x4f castor3d::SceneBackground::m_mtxModel
protected

◆ m_pipeline

ashes::GraphicsPipelinePtr castor3d::SceneBackground::m_pipeline
protected

Référencé par getPipeline().

◆ m_pipelineLayout

ashes::PipelineLayoutPtr castor3d::SceneBackground::m_pipelineLayout
protected

Référencé par getPipelineLayout().

◆ m_sampler

SamplerWPtr castor3d::SceneBackground::m_sampler
protected

◆ m_scene

Scene& castor3d::SceneBackground::m_scene
protected

Référencé par getScene().

◆ m_semaphore

ashes::SemaphorePtr castor3d::SceneBackground::m_semaphore
protected

Référencé par getSemaphore().

◆ m_texDescriptorLayout

ashes::DescriptorSetLayoutPtr castor3d::SceneBackground::m_texDescriptorLayout
protected

Référencé par getTexDescriptorLayout().

◆ m_texDescriptorPool

ashes::DescriptorSetPoolPtr castor3d::SceneBackground::m_texDescriptorPool
protected

◆ m_texDescriptorSet

ashes::DescriptorSetPtr castor3d::SceneBackground::m_texDescriptorSet
protected

◆ m_texture

TextureLayoutSPtr castor3d::SceneBackground::m_texture
protected

◆ m_timer

RenderPassTimerSPtr castor3d::SceneBackground::m_timer
protected

◆ m_type

BackgroundType castor3d::SceneBackground::m_type
protected

Référencé par getType().

◆ m_uboDescriptorLayout

ashes::DescriptorSetLayoutPtr castor3d::SceneBackground::m_uboDescriptorLayout
protected

Référencé par getUboDescriptorLayout().

◆ m_uboDescriptorPool

ashes::DescriptorSetPoolPtr castor3d::SceneBackground::m_uboDescriptorPool
protected

◆ m_uboDescriptorSet

ashes::DescriptorSetPtr castor3d::SceneBackground::m_uboDescriptorSet
protected

◆ m_vertexBuffer

ashes::VertexBufferPtr< Cube > castor3d::SceneBackground::m_vertexBuffer
protected

Référencé par getVertexBuffer().

◆ MdlMtxUboIdx

C3D_API uint32_t constexpr castor3d::SceneBackground::MdlMtxUboIdx = 1u
staticprotected

◆ MtxUboIdx

C3D_API uint32_t constexpr castor3d::SceneBackground::MtxUboIdx = 0u
staticprotected

◆ onChanged

OnBackgroundChanged castor3d::SceneBackground::onChanged

◆ SkyBoxImgIdx

C3D_API uint32_t constexpr castor3d::SceneBackground::SkyBoxImgIdx = 0u
staticprotected

◆ TexSetIdx

C3D_API uint32_t constexpr castor3d::SceneBackground::TexSetIdx = 1u
staticprotected

◆ UboSetIdx

C3D_API uint32_t constexpr castor3d::SceneBackground::UboSetIdx = 0u
staticprotected

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