12 class FirstPersonCamera;
30 entt::registry& t_reg,
32 std::shared_ptr<Fling::Shader> t_Vert,
33 std::shared_ptr<Fling::Shader> t_Frag
40 void Draw(
CommandBuffer& t_CmdBuf, VkFramebuffer t_PresentFrameBuf,
UINT32 t_ActiveSwapImage, entt::registry& t_reg,
float DeltaTime)
override;
44 void PrepareAttachments()
override;
46 void CreateGraphicsPipeline()
override;
48 void GatherPresentDependencies(
49 std::vector<CommandBuffer*>& t_CmdBuffs,
50 std::vector<VkSemaphore>& t_Deps,
52 UINT32 t_CurrentFrameInFlight)
override;
54 void CleanUp(entt::registry& t_reg)
override;
58 void OnMeshRendererAdded(entt::entity t_Ent, entt::registry& t_Reg,
MeshRenderer& t_MeshRend);
62 void BuildOffscreenCommandBuffer(entt::registry& t_reg,
UINT32 t_ActiveFrameInFlight);
68 VkCommandPool m_CommandPool = VK_NULL_HANDLE;
77 VkDescriptorPool m_DescriptorPool = VK_NULL_HANDLE;
A subpass represents one part of a RenderPipeline.
Definition: Subpass.h:25
UBO for mesh data.
Definition: OffscreenSubpass.h:15
Definition: OffscreenSubpass.h:24
A simple first person camera.
Definition: FirstPersonCamera.h:9
Encapsulates functionality of a Vulkan Command buffer.
Definition: CommandBuffer.h:17
A logical device represents the application view of the device.
Definition: LogicalDevice.h:13
Represents a swap chain that can be used throughout the program.
Definition: SwapChain.h:21
glm::mat4 View
Definition: OffscreenSubpass.h:19
std::vector< VkSemaphore > m_OffscreenSemaphores
Definition: OffscreenSubpass.h:66
glm::vec3 ObjPos
Definition: OffscreenSubpass.h:20
Definition: FrameBuffer.h:67
const FirstPersonCamera * m_Camera
Definition: OffscreenSubpass.h:75
std::vector< CommandBuffer * > m_OffscreenCmdBufs
Definition: OffscreenSubpass.h:71
uint32_t UINT32
Definition: FlingTypes.h:13
FrameBuffer * GetOffscreenFrameBuffer() const
Definition: OffscreenSubpass.h:38
void CreateDescriptorSets(MeshRenderer &t_MeshRend, Lighting &t_Lighting, VkDescriptorSetLayout t_DescriptorLayout)
Definition: ShaderProgramReflections.cpp:4
Definition: MeshRenderer.h:12
glm::mat4 Model
Definition: OffscreenSubpass.h:18
glm::mat4 Projection
Definition: OffscreenSubpass.h:17