16 class GraphicsPipeline;
19 class FirstPersonCamera;
39 alignas(4)
UINT32 PointLightCount = 0;
50 glm::vec4 CamPos = {};
52 float Exposure = 4.5f;
67 entt::registry& t_reg,
68 VkRenderPass t_GlobalRenderPass,
71 std::shared_ptr<Fling::Shader> t_Vert,
72 std::shared_ptr<Fling::Shader> t_Frag
77 void Draw(
CommandBuffer& t_CmdBuf, VkFramebuffer t_PresentFrameBuf,
UINT32 t_ActiveFrameInFlight, entt::registry& t_reg,
float DeltaTime)
override;
84 void CreateGraphicsPipeline()
override;
88 void OnPointLightAdded(entt::entity t_Ent, entt::registry& t_Reg,
PointLight& t_Light);
90 void UpdateLightingUBO(entt::registry& t_Reg,
UINT32 t_ActiveFrame);
95 VkRenderPass m_GlobalRenderPass = VK_NULL_HANDLE;
The geometry subpass is in charge of sending the geometry portion of the Deferred pipeline to the GPU...
Definition: GeometrySubpass.h:61
glm::mat4 ModelView
Definition: GeometrySubpass.h:49
A subpass represents one part of a RenderPipeline.
Definition: Subpass.h:25
A simple first person camera.
Definition: FirstPersonCamera.h:9
std::shared_ptr< Model > m_QuadModel
Definition: GeometrySubpass.h:93
std::vector< Buffer * > m_QuadUboBuffer
Definition: GeometrySubpass.h:107
Simple representation of a point light in Light Vox.
Definition: PointLight.hpp:12
Uniform buffer for passing lights to our final screen pass.
Definition: GeometrySubpass.h:36
Encapsulates functionality of a Vulkan Command buffer.
Definition: CommandBuffer.h:17
std::vector< Buffer * > m_CameraUboBuffers
Definition: GeometrySubpass.h:105
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
Simple representation of a directional light for Fling.
Definition: DirectionalLight.hpp:12
Definition: FrameBuffer.h:67
glm::mat4 Projection
Definition: GeometrySubpass.h:48
static const UINT32 MaxDirectionalLights
Dir Lights.
Definition: GeometrySubpass.h:29
Definition: GeometrySubpass.h:46
std::vector< VkDescriptorSet > m_DescriptorSets
Definition: GeometrySubpass.h:103
Settings for the max directional lights and max point lights.
Definition: GeometrySubpass.h:26
const FirstPersonCamera * m_Camera
Definition: GeometrySubpass.h:97
uint32_t UINT32
Definition: FlingTypes.h:13
std::vector< Buffer * > m_LightingUboBuffers
Definition: GeometrySubpass.h:104
void CreateDescriptorSets(MeshRenderer &t_MeshRend, Lighting &t_Lighting, VkDescriptorSetLayout t_DescriptorLayout)
Definition: ShaderProgramReflections.cpp:4
static const UINT32 MaxPointLights
Point Lights.
Definition: GeometrySubpass.h:32