45 uint32_t p_image_size,
46 const std::string& p_tag);
51 void preload_assets(
const VkRenderPass& p_renderpass)
override;
53 void start_frame(const ::vk::command_buffer& p_current,
55 const VkRenderPass& p_renderpass,
56 const VkFramebuffer& p_framebuffer,
57 const glm::mat4& p_proj_view)
override;
58 void background_color(
const std::array<float, 4>& p_color)
override;
60 void post_frame()
override;
62 void current_scene(ref<scene>)
override;
65 VkDevice m_device =
nullptr;
67 glm::mat4 m_proj_view;
68 VkRenderPass m_final_renderpass =
nullptr;
70 ::vk::command_buffer m_current_command_buffer{};
71 VkClearColorValue m_color;
73 uint32_t m_image_count = 0;
75 ::vk::pipeline m_main_pipeline;
76 ::vk::descriptor_resource m_global_descriptors;
77 std::vector<VkDescriptorSetLayout> m_sets_layouts;
79 std::map<uint32_t, mesh> m_cached_meshes;
80 ::vk::uniform_buffer m_global_uniforms;
81 ::vk::uniform_buffer m_point_light_uniforms;
84 std::map<uint32_t, ::vk::uniform_buffer> m_mesh_geometry_set;
86 std::map<uint64_t, ::vk::uniform_buffer> m_mesh_material_set;
87 std::map<uint32_t, std::map<std::string, ::vk::descriptor_resource>>
89 uint32_t m_current_frame = 0;
90 glm::mat4 m_model = { 1.f };
92 ::vk::texture m_white_texture;
94 ref<scene> m_current_scene;
is an interface that defines a graphics APi-agnostic renderer
Definition renderer_context.hpp:18