Vulkan Schnee 0.0.1
High-performance rendering engine
Loading...
Searching...
No Matches
Engine::Rendering::SunShadowResources Class Reference

#include <SunShadowResources.h>

Collaboration diagram for Engine::Rendering::SunShadowResources:

Public Member Functions

void create (Core::ApplicationContext *context, uint32_t mapSize, uint32_t cascadeCount)
void cleanup (VkDevice device)
void uploadCascadeData (const SunShadowCascadeBuffer &data)
const Vulkan::BuffergetCascadeBuffer () const
const VkDescriptorImageInfo & getDescriptorInfo () const
VkImage getImage () const
VkImageView getCascadeImageView (uint32_t cascadeIndex) const
uint32_t getCascadeCount () const
uint32_t getMapSize () const
bool isCreated () const
bool hasRendered () const
void markRendered ()

Private Attributes

uint32_t mapSize_ = 0u
uint32_t cascadeCount_ = 0u
bool hasRendered_ = false
VkImage shadowImage_ = VK_NULL_HANDLE
VkDeviceMemory shadowMemory_ = VK_NULL_HANDLE
VkImageView shadowArrayView_ = VK_NULL_HANDLE
std::array< VkImageView, GpuBuffers::MAX_SUN_SHADOW_CASCADEScascadeViews_ {}
VkSampler shadowSampler_ = VK_NULL_HANDLE
VkDescriptorImageInfo descriptorInfo_ {}
std::optional< Vulkan::BuffercascadeBuffer_

Detailed Description

Definition at line 18 of file SunShadowResources.h.

Member Function Documentation

◆ cleanup()

void Engine::Rendering::SunShadowResources::cleanup ( VkDevice device)

◆ create()

void Engine::Rendering::SunShadowResources::create ( Core::ApplicationContext * context,
uint32_t mapSize,
uint32_t cascadeCount )

◆ getCascadeBuffer()

const Vulkan::Buffer & Engine::Rendering::SunShadowResources::getCascadeBuffer ( ) const
inlinenodiscard

Definition at line 26 of file SunShadowResources.h.

References cascadeBuffer_.

◆ getCascadeCount()

uint32_t Engine::Rendering::SunShadowResources::getCascadeCount ( ) const
inlinenodiscard

Definition at line 30 of file SunShadowResources.h.

References cascadeCount_.

◆ getCascadeImageView()

VkImageView Engine::Rendering::SunShadowResources::getCascadeImageView ( uint32_t cascadeIndex) const
inlinenodiscard

Definition at line 29 of file SunShadowResources.h.

References cascadeViews_.

◆ getDescriptorInfo()

const VkDescriptorImageInfo & Engine::Rendering::SunShadowResources::getDescriptorInfo ( ) const
inlinenodiscard

Definition at line 27 of file SunShadowResources.h.

References descriptorInfo_.

◆ getImage()

VkImage Engine::Rendering::SunShadowResources::getImage ( ) const
inlinenodiscard

Definition at line 28 of file SunShadowResources.h.

References shadowImage_.

◆ getMapSize()

uint32_t Engine::Rendering::SunShadowResources::getMapSize ( ) const
inlinenodiscard

Definition at line 31 of file SunShadowResources.h.

References mapSize_.

◆ hasRendered()

bool Engine::Rendering::SunShadowResources::hasRendered ( ) const
inlinenodiscard

Definition at line 33 of file SunShadowResources.h.

References hasRendered_.

◆ isCreated()

bool Engine::Rendering::SunShadowResources::isCreated ( ) const
inlinenodiscard

Definition at line 32 of file SunShadowResources.h.

References shadowImage_.

◆ markRendered()

void Engine::Rendering::SunShadowResources::markRendered ( )
inline

Definition at line 34 of file SunShadowResources.h.

References hasRendered_.

◆ uploadCascadeData()

void Engine::Rendering::SunShadowResources::uploadCascadeData ( const SunShadowCascadeBuffer & data)

Member Data Documentation

◆ cascadeBuffer_

std::optional<Vulkan::Buffer> Engine::Rendering::SunShadowResources::cascadeBuffer_
private

Definition at line 47 of file SunShadowResources.h.

Referenced by getCascadeBuffer().

◆ cascadeCount_

uint32_t Engine::Rendering::SunShadowResources::cascadeCount_ = 0u
private

Definition at line 38 of file SunShadowResources.h.

Referenced by getCascadeCount().

◆ cascadeViews_

std::array<VkImageView, GpuBuffers::MAX_SUN_SHADOW_CASCADES> Engine::Rendering::SunShadowResources::cascadeViews_ {}
private

Definition at line 44 of file SunShadowResources.h.

Referenced by getCascadeImageView().

◆ descriptorInfo_

VkDescriptorImageInfo Engine::Rendering::SunShadowResources::descriptorInfo_ {}
private

Definition at line 46 of file SunShadowResources.h.

Referenced by getDescriptorInfo().

◆ hasRendered_

bool Engine::Rendering::SunShadowResources::hasRendered_ = false
private

Definition at line 39 of file SunShadowResources.h.

Referenced by hasRendered(), and markRendered().

◆ mapSize_

uint32_t Engine::Rendering::SunShadowResources::mapSize_ = 0u
private

Definition at line 37 of file SunShadowResources.h.

Referenced by getMapSize().

◆ shadowArrayView_

VkImageView Engine::Rendering::SunShadowResources::shadowArrayView_ = VK_NULL_HANDLE
private

Definition at line 43 of file SunShadowResources.h.

◆ shadowImage_

VkImage Engine::Rendering::SunShadowResources::shadowImage_ = VK_NULL_HANDLE
private

Definition at line 41 of file SunShadowResources.h.

Referenced by getImage(), and isCreated().

◆ shadowMemory_

VkDeviceMemory Engine::Rendering::SunShadowResources::shadowMemory_ = VK_NULL_HANDLE
private

Definition at line 42 of file SunShadowResources.h.

◆ shadowSampler_

VkSampler Engine::Rendering::SunShadowResources::shadowSampler_ = VK_NULL_HANDLE
private

Definition at line 45 of file SunShadowResources.h.


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