Castor3D 0.12.0
Multiplatform 3D engine
Public Member Functions | Static Public Attributes | List of all members
castor3d::SceneUbo Class Reference

#include <SceneUbo.hpp>

Public Member Functions

C3D_API SceneUbo (SceneUbo const &rhs)=delete
 
C3D_API SceneUbooperator= (SceneUbo const &rhs)=delete
 
C3D_API SceneUbo (SceneUbo &&rhs)=default
 
C3D_API SceneUbooperator= (SceneUbo &&rhs)=delete
 
C3D_API SceneUbo (RenderDevice const &device)
 
C3D_API ~SceneUbo ()
 
C3D_API void cpuUpdateCameraPosition (Camera const &camera)
 Updates the UBO from given values. More...
 
C3D_API void cpuUpdate (Camera const *camera, Fog const &fog)
 Updates the UBO from given values. More...
 
C3D_API void cpuUpdate (Scene const &scene, Camera const *camera, bool lights=true)
 Updates the UBO from given values. More...
 
C3D_API void setWindowSize (castor::Size const &window)
 Updates the UBO from given values. More...
 
void createPassBinding (crg::FramePass &pass, uint32_t binding) const
 
void createSizedBinding (ashes::DescriptorSet &descriptorSet, VkDescriptorSetLayoutBinding const &layoutBinding) const
 
ashes::WriteDescriptorSet getDescriptorWrite (uint32_t dstBinding, uint32_t dstArrayElement=0u) const
 
UniformBufferOffsetT< Configuration > const & getUbo () const
 

Static Public Attributes

static C3D_API castor::String const BufferScene
 
static C3D_API castor::String const SceneData
 

Constructor & Destructor Documentation

◆ SceneUbo() [1/3]

C3D_API castor3d::SceneUbo::SceneUbo ( SceneUbo const &  rhs)
delete

◆ SceneUbo() [2/3]

C3D_API castor3d::SceneUbo::SceneUbo ( SceneUbo &&  rhs)
default

◆ SceneUbo() [3/3]

C3D_API castor3d::SceneUbo::SceneUbo ( RenderDevice const &  device)
explicit

◆ ~SceneUbo()

C3D_API castor3d::SceneUbo::~SceneUbo ( )

Member Function Documentation

◆ cpuUpdate() [1/2]

C3D_API void castor3d::SceneUbo::cpuUpdate ( Camera const *  camera,
Fog const &  fog 
)

Updates the UBO from given values.

Parameters
[in]cameraThe current camera.
[in]fogThe fog configuration.

◆ cpuUpdate() [2/2]

C3D_API void castor3d::SceneUbo::cpuUpdate ( Scene const &  scene,
Camera const *  camera,
bool  lights = true 
)

Updates the UBO from given values.

Parameters
[in]sceneThe rendered scene.
[in]cameraThe current camera.
[in]lightsThe lights are updated too.

◆ cpuUpdateCameraPosition()

C3D_API void castor3d::SceneUbo::cpuUpdateCameraPosition ( Camera const &  camera)

Updates the UBO from given values.

Parameters
[in]cameraThe current camera.

◆ createPassBinding()

void castor3d::SceneUbo::createPassBinding ( crg::FramePass &  pass,
uint32_t  binding 
) const
inline

References castor3d::UniformBufferOffsetT< DataT >::createPassBinding().

Here is the call graph for this function:

◆ createSizedBinding()

void castor3d::SceneUbo::createSizedBinding ( ashes::DescriptorSet &  descriptorSet,
VkDescriptorSetLayoutBinding const &  layoutBinding 
) const
inline

References castor3d::UniformBufferOffsetT< DataT >::createSizedBinding().

Here is the call graph for this function:

◆ getDescriptorWrite()

ashes::WriteDescriptorSet castor3d::SceneUbo::getDescriptorWrite ( uint32_t  dstBinding,
uint32_t  dstArrayElement = 0u 
) const
inline

References castor3d::UniformBufferOffsetT< DataT >::getDescriptorWrite().

Here is the call graph for this function:

◆ getUbo()

UniformBufferOffsetT< Configuration > const & castor3d::SceneUbo::getUbo ( ) const
inline

◆ operator=() [1/2]

C3D_API SceneUbo & castor3d::SceneUbo::operator= ( SceneUbo &&  rhs)
delete

◆ operator=() [2/2]

C3D_API SceneUbo & castor3d::SceneUbo::operator= ( SceneUbo const &  rhs)
delete

◆ setWindowSize()

C3D_API void castor3d::SceneUbo::setWindowSize ( castor::Size const &  window)

Updates the UBO from given values.

Parameters
[in]windowThe window dimensions.

Member Data Documentation

◆ BufferScene

C3D_API castor::String const castor3d::SceneUbo::BufferScene
static

◆ SceneData

C3D_API castor::String const castor3d::SceneUbo::SceneData
static

The documentation for this class was generated from the following file: