SDEngine
Game Engine
Loading...
Searching...
No Matches
sd::VulkanRenderer Class Reference

#include <VulkanRenderer.hpp>

+ Collaboration diagram for sd::VulkanRenderer:

Public Member Functions

 VulkanRenderer (VulkanContext &ctx, FrameTimer &timer)
 
void init ()
 
vk::CommandBuffer begin_command_buffer (VulkanWindow &vw)
 
void begin_render_pass (VulkanWindow &vw)
 
vk::CommandBuffer begin_frame (VulkanWindow &vw)
 
vk::Result end_frame (VulkanWindow &vw)
 
void set_clear_color (const std::array< float, 4 > &color)
 
void reload_shaders ()
 
ShaderLibraryget_shader_library ()
 
PipelineFactoryget_pipeline_factory ()
 

Private Attributes

VulkanContextctx
 
VkDevice m_device
 
FrameTimerm_timer
 
std::array< float, 4 > m_clear_color {0.1f, 0.1f, 0.1f, 1.0f}
 
std::unique_ptr< ShaderLibrarym_shaders
 
std::unique_ptr< PipelineFactorym_pipelines
 

Constructor & Destructor Documentation

◆ VulkanRenderer()

sd::VulkanRenderer::VulkanRenderer ( VulkanContext ctx,
FrameTimer timer 
)

Member Function Documentation

◆ begin_command_buffer()

vk::CommandBuffer sd::VulkanRenderer::begin_command_buffer ( VulkanWindow vw)

◆ begin_frame()

vk::CommandBuffer sd::VulkanRenderer::begin_frame ( VulkanWindow vw)

◆ begin_render_pass()

void sd::VulkanRenderer::begin_render_pass ( VulkanWindow vw)

◆ end_frame()

vk::Result sd::VulkanRenderer::end_frame ( VulkanWindow vw)

◆ get_pipeline_factory()

PipelineFactory & sd::VulkanRenderer::get_pipeline_factory ( )
inline

◆ get_shader_library()

ShaderLibrary & sd::VulkanRenderer::get_shader_library ( )
inline

◆ init()

void sd::VulkanRenderer::init ( )

◆ reload_shaders()

void sd::VulkanRenderer::reload_shaders ( )

◆ set_clear_color()

void sd::VulkanRenderer::set_clear_color ( const std::array< float, 4 > &  color)
inline

Member Data Documentation

◆ ctx

VulkanContext& sd::VulkanRenderer::ctx
private

◆ m_clear_color

std::array<float, 4> sd::VulkanRenderer::m_clear_color {0.1f, 0.1f, 0.1f, 1.0f}
private

◆ m_device

VkDevice sd::VulkanRenderer::m_device
private

◆ m_pipelines

std::unique_ptr<PipelineFactory> sd::VulkanRenderer::m_pipelines
private

◆ m_shaders

std::unique_ptr<ShaderLibrary> sd::VulkanRenderer::m_shaders
private

◆ m_timer

FrameTimer& sd::VulkanRenderer::m_timer
private

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