| Fling Engine 0.00.1 Fling Engine is a game engine written in Vulkan

Data Structures | Public Member Functions | Private Member Functions | Private Attributes
Fling::DebugSubpass Class Reference

`#include <DebugSubpass.h>`

Inherits Fling::Subpass.

## Data Structures
struct | DebugUBO

## Public Member Functions
| DebugSubpass (const LogicalDevice *t_Dev, const Swapchain *t_Swap, entt::registry &t_reg, VkRenderPass t_GlobalRenderPass, FirstPersonCamera *t_Cam, std::shared_ptr< Fling::Shader > t_Vert, std::shared_ptr< Fling::Shader > t_Frag)
virtual | ~DebugSubpass ()
void | Draw (CommandBuffer &t_CmdBuf, VkFramebuffer t_PresentFrameBuf, UINT32 t_ActiveFrameInFlight, entt::registry &t_reg, float DeltaTime) override
void | CreateDescriptorSets (VkDescriptorPool t_Pool, entt::registry &t_reg) override
| Given the frame buffers and the registry, create any descriptor sets that we may need Assumes that the frame buffer has been prepared with it's attachments already. More...
void | PrepareAttachments () override
| Add any attachments to a frame buffer that this subpass may need. More...
void | CreateGraphicsPipeline () override
void | CleanUp (entt::registry &t_reg) override
| Cleanup any allocated resources that you may need a registry for. More...
Public Member Functions inherited from Fling::Subpass
| Subpass (const LogicalDevice *t_Dev, const Swapchain *t_Swap, std::shared_ptr< Fling::Shader > t_Vert, std::shared_ptr< Fling::Shader > t_Frag)
virtual | ~Subpass ()
virtual void | GatherPresentDependencies (std::vector< CommandBuffer *> &t_CmdBuffs, std::vector< VkSemaphore > &t_Deps, UINT32 t_ActiveFrameIndex, UINT32 t_CurrentFrameInFlight)
| If a subpass has a command buffer that the final swap chain presentation is dependent on, then add it this vector. More...
virtual void | GatherPresentBuffers (std::vector< CommandBuffer *> &t_CmdBuffs, UINT32 t_ActiveFrameIndex)
| If a subpass has an additional command buffer to add to the final swap chain draw submission but it is not dependent on it, then add it here. More...
GraphicsPipeline * | GetGraphicsPipeline () const noexcept
const std::vector< VkClearValue > & | GetClearValues () const
Public Member Functions inherited from Fling::NonCopyable
| NonCopyable (const NonCopyable &)=delete
| NonCopyable (NonCopyable &&)=default
NonCopyable & | operator= (const NonCopyable &)=delete
NonCopyable & | operator= (NonCopyable &&)=default

## Private Member Functions
void | OnMeshRendererAdded (entt::entity t_Ent, entt::registry &t_Reg, MeshRenderer &t_MeshRend)
void | CreateMeshDescriptorSet (MeshRenderer &t_MeshRend)

## Private Attributes
VkRenderPass | m_GlobalRenderPass = VK_NULL_HANDLE
const FirstPersonCamera * | m_Camera
struct Fling::DebugSubpass::DebugUBO | m_Ubo
VkDescriptorPool | m_DescriptorPool = VK_NULL_HANDLE

## Additional Inherited Members
Protected Member Functions inherited from Fling::NonCopyable
| NonCopyable ()=default
virtual | ~NonCopyable ()=default
Protected Attributes inherited from Fling::Subpass
const LogicalDevice * | m_Device
const Swapchain * | m_SwapChain
std::shared_ptr< Fling::Shader > | m_VertexShader
std::shared_ptr< Fling::Shader > | m_FragShader
std::vector< VkClearValue > | m_ClearValues = std::vector<VkClearValue>(2)
| The clear values that will be used when building the command buffer to run this subpass. More...
GraphicsPipeline * | m_GraphicsPipeline = nullptr
| Layouts created in the constructor via shader reflection. More...

## Constructor & Destructor Documentation

## ◆ DebugSubpass()

Fling::DebugSubpass::DebugSubpass | ( | const LogicalDevice * | t_Dev,
|  | const Swapchain * | t_Swap,
|  | entt::registry & | t_reg,
|  | VkRenderPass | t_GlobalRenderPass,
|  | FirstPersonCamera * | t_Cam,
|  | std::shared_ptr< Fling::Shader > | t_Vert,
|  | std::shared_ptr< Fling::Shader > | t_Frag
| ) |  |

## ◆ ~DebugSubpass()

Fling::DebugSubpass::~DebugSubpass | ( |  | ) |
| virtual

## Member Function Documentation

## ◆ CleanUp()

void Fling::DebugSubpass::CleanUp | ( | entt::registry & | t_reg | ) |
| override virtual

Cleanup any allocated resources that you may need a registry for.

Reimplemented from Fling::Subpass.

## ◆ CreateDescriptorSets()

void Fling::DebugSubpass::CreateDescriptorSets | ( | VkDescriptorPool | t_Pool,
|  | entt::registry & | t_reg
| ) |  |
| override virtual

Given the frame buffers and the registry, create any descriptor sets that we may need Assumes that the frame buffer has been prepared with it's attachments already.

Parameters

  t_FrameBuffer | The swap chain frame buffer

Implements Fling::Subpass.

## ◆ CreateGraphicsPipeline()

void Fling::DebugSubpass::CreateGraphicsPipeline | ( |  | ) |
| override virtual

Implements Fling::Subpass.

## ◆ CreateMeshDescriptorSet()

void Fling::DebugSubpass::CreateMeshDescriptorSet | ( | MeshRenderer & | t_MeshRend | ) |
| private

## ◆ Draw()

void Fling::DebugSubpass::Draw | ( | CommandBuffer & | t_CmdBuf,
|  | VkFramebuffer | t_PresentFrameBuf,
|  | UINT32 | t_ActiveFrameInFlight,
|  | entt::registry & | t_reg,
|  | float | DeltaTime
| ) |  |
| override virtual

Implements Fling::Subpass.

## ◆ OnMeshRendererAdded()

void Fling::DebugSubpass::OnMeshRendererAdded | ( | entt::entity | t_Ent,
|  | entt::registry & | t_Reg,
|  | MeshRenderer & | t_MeshRend
| ) |  |
| private

## ◆ PrepareAttachments()

void Fling::DebugSubpass::PrepareAttachments | ( |  | ) |
| override virtual

Add any attachments to a frame buffer that this subpass may need.

Reimplemented from Fling::Subpass.

## Field Documentation

## ◆ m_Camera

const FirstPersonCamera* Fling::DebugSubpass::m_Camera
| private

## ◆ m_DescriptorPool

VkDescriptorPool Fling::DebugSubpass::m_DescriptorPool = VK_NULL_HANDLE
| private

## ◆ m_GlobalRenderPass

VkRenderPass Fling::DebugSubpass::m_GlobalRenderPass = VK_NULL_HANDLE
| private

## ◆ m_Ubo

struct Fling::DebugSubpass::DebugUBO Fling::DebugSubpass::m_Ubo
| private

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

- FlingEngine/Graphics/inc/DebugSubpass.h
- FlingEngine/Graphics/src/DebugSubpass.cpp