TheAtlasEngine
 
Loading...
Searching...
No Matches
renderer.hpp
1#pragma once
2#include <core/core.hpp>
3#include <vulkan/vulkan.hpp>
4#include <drivers/vulkan-cpp/vk_swapchain.hpp>
5#include <drivers/renderer_context.hpp>
6
7namespace atlas {
17 class renderer {
18 public:
19 renderer() = default;
20 renderer(const window_settings& p_window_extent,
21 uint32_t p_image_size,
22 const std::string& p_tag = "Renderer");
23
24 void preload(const VkRenderPass& p_renderpass);
25
26 void current_scene(ref<scene>);
27
32 void begin(const ::vk::command_buffer& p_current,
33 const window_settings& p_settings,
34 const VkRenderPass& p_renderpass,
35 const VkFramebuffer& p_framebuffer,
36 const glm::mat4& p_proj_view);
37
41 void end();
42
43 void set_background_color(const std::array<float, 4>& p_color);
44
45 private:
46 ref<render_context> m_render_context = nullptr;
47 };
48};
Definition renderer.hpp:17
void begin(const ::vk::command_buffer &p_current, const window_settings &p_settings, const VkRenderPass &p_renderpass, const VkFramebuffer &p_framebuffer, const glm::mat4 &p_proj_view)
Indicates to the renderer is at the start of the next frame to prepare workloads before next frame is...
void end()
Indications when the renderer has reached the end of the frame.
settings for specification for atlas::window
Definition types.hpp:9