Castor3D 0.16.0
Multiplatform 3D engine
Public Types | Public Member Functions | List of all members
castor3d::CameraUbo Class Reference

#include <CameraUbo.hpp>

Public Types

using Configuration = CameraUboConfiguration
 

Public Member Functions

C3D_API CameraUbo (CameraUbo const &rhs)=delete
 
C3D_API CameraUbooperator= (CameraUbo const &rhs)=delete
 
C3D_API CameraUbo (CameraUbo &&rhs) noexcept=default
 
C3D_API CameraUbooperator= (CameraUbo &&rhs) noexcept=delete
 
C3D_API CameraUbo (RenderDevice const &device)
 
C3D_API ~CameraUbo () noexcept
 
C3D_API ConfigurationcpuUpdate (castor::Size const &size, Camera const &camera, castor::Matrix4x4f const &view, castor::Matrix4x4f const &projection, uint32_t debugIndex, castor::Point2f const &jitter=castor::Point2f{})
 Updates the UBO from given values.
 
C3D_API ConfigurationcpuUpdate (Camera const &camera, castor::Matrix4x4f const &view, castor::Matrix4x4f const &projection, uint32_t debugIndex, bool safeBanded, castor::Point2f const &jitter=castor::Point2f{})
 Updates the UBO from given values.
 
C3D_API ConfigurationcpuUpdate (Camera const &camera, uint32_t debugIndex, bool safeBanded, castor::Point2f const &jitter=castor::Point2f{})
 Updates the UBO from given values.
 
C3D_API ConfigurationcpuUpdate (castor::Size const &size, Camera const &camera, uint32_t debugIndex, bool safeBanded, castor::Point2f const &jitter=castor::Point2f{})
 Updates the UBO from given values.
 
C3D_API ConfigurationcpuUpdate (castor::Size const &size, castor::Matrix4x4f const &view, castor::Matrix4x4f const &projection, uint32_t debugIndex, Frustum const &frustum, castor::Point2f const &jitter=castor::Point2f{})
 Updates the UBO from given values.
 
C3D_API ConfigurationcpuUpdate (castor::Size const &size, castor::Matrix4x4f const &projection, uint32_t debugIndex)
 Updates the UBO from given values.
 
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
 

Member Typedef Documentation

◆ Configuration

Constructor & Destructor Documentation

◆ CameraUbo() [1/3]

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

◆ CameraUbo() [2/3]

C3D_API castor3d::CameraUbo::CameraUbo ( CameraUbo && rhs)
defaultnoexcept

◆ CameraUbo() [3/3]

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

◆ ~CameraUbo()

C3D_API castor3d::CameraUbo::~CameraUbo ( )
noexcept

Member Function Documentation

◆ cpuUpdate() [1/6]

C3D_API Configuration & castor3d::CameraUbo::cpuUpdate ( Camera const & camera,
castor::Matrix4x4f const & view,
castor::Matrix4x4f const & projection,
uint32_t debugIndex,
bool safeBanded,
castor::Point2f const & jitter = castor::Point2f{} )

Updates the UBO from given values.

Parameters
[in]cameraThe camera holding the data.
[in]viewThe new view matrix.
[in]projectionThe new projection matrix.
[in]debugIndexThe currently selected debug data index.
[in]safeBandedtrue to use safebanded size.
[in]jitterThe jittering value.

◆ cpuUpdate() [2/6]

C3D_API Configuration & castor3d::CameraUbo::cpuUpdate ( Camera const & camera,
uint32_t debugIndex,
bool safeBanded,
castor::Point2f const & jitter = castor::Point2f{} )

Updates the UBO from given values.

Parameters
[in]cameraThe camera holding the data.
[in]debugIndexThe currently selected debug data index.
[in]safeBandedtrue to use safebanded size and projection matrix.
[in]jitterThe jittering value.

◆ cpuUpdate() [3/6]

C3D_API Configuration & castor3d::CameraUbo::cpuUpdate ( castor::Size const & size,
Camera const & camera,
castor::Matrix4x4f const & view,
castor::Matrix4x4f const & projection,
uint32_t debugIndex,
castor::Point2f const & jitter = castor::Point2f{} )

Updates the UBO from given values.

Parameters
[in]sizeThe render size.
[in]cameraThe camera holding the data.
[in]viewThe new view matrix.
[in]projectionThe new projection matrix.
[in]debugIndexThe currently selected debug data index.
[in]jitterThe jittering value.

◆ cpuUpdate() [4/6]

C3D_API Configuration & castor3d::CameraUbo::cpuUpdate ( castor::Size const & size,
Camera const & camera,
uint32_t debugIndex,
bool safeBanded,
castor::Point2f const & jitter = castor::Point2f{} )

Updates the UBO from given values.

Parameters
[in]sizeThe render size.
[in]cameraThe camera holding the data.
[in]debugIndexThe currently selected debug data index.
[in]safeBandedtrue to use safebanded projection matrix.
[in]jitterThe jittering value.

◆ cpuUpdate() [5/6]

C3D_API Configuration & castor3d::CameraUbo::cpuUpdate ( castor::Size const & size,
castor::Matrix4x4f const & projection,
uint32_t debugIndex )

Updates the UBO from given values.

Remarks
View matrix won't be updated.
Parameters
[in]sizeThe render size.
[in]projectionThe new projection matrix.
[in]debugIndexThe currently selected debug data index.

◆ cpuUpdate() [6/6]

C3D_API Configuration & castor3d::CameraUbo::cpuUpdate ( castor::Size const & size,
castor::Matrix4x4f const & view,
castor::Matrix4x4f const & projection,
uint32_t debugIndex,
Frustum const & frustum,
castor::Point2f const & jitter = castor::Point2f{} )

Updates the UBO from given values.

Parameters
[in]sizeThe render size.
[in]viewThe new view matrix.
[in]projectionThe new projection matrix.
[in]debugIndexThe currently selected debug data index.
[in]frustumThe frustum, from which planes are copied.
[in]jitterThe jittering value.

◆ createPassBinding()

void castor3d::CameraUbo::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::CameraUbo::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::CameraUbo::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::CameraUbo::getUbo ( ) const
inline

◆ operator=() [1/2]

C3D_API CameraUbo & castor3d::CameraUbo::operator= ( CameraUbo && rhs)
deletenoexcept

◆ operator=() [2/2]

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

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