vengine  0.1.0
3D graphics engine made with Vulkan
Loading...
Searching...
No Matches
ven::RenderSystem Class Reference

Class for render system. More...

#include <RenderSystem.hpp>

+ Collaboration diagram for ven::RenderSystem:

Public Member Functions

 RenderSystem (Device &device, VkRenderPass renderPass, VkDescriptorSetLayout globalSetLayout)
 
 ~RenderSystem ()
 
 RenderSystem (const RenderSystem &)=delete
 
RenderSystemoperator= (const RenderSystem &)=delete
 
void renderObjects (const FrameInfo &frameInfo) const
 

Private Member Functions

void createPipelineLayout (VkDescriptorSetLayout globalSetLayout)
 
void createPipeline (VkRenderPass renderPass)
 

Private Attributes

Devicem_device
 
std::unique_ptr< Shadersm_shaders
 
VkPipelineLayout m_pipelineLayout {nullptr}
 

Detailed Description

Class for render system.

Definition at line 28 of file RenderSystem.hpp.

Constructor & Destructor Documentation

◆ RenderSystem() [1/2]

ven::RenderSystem::RenderSystem ( Device & device,
VkRenderPass renderPass,
VkDescriptorSetLayout globalSetLayout )
explicit

Definition at line 5 of file renderSystem.cpp.

References createPipeline(), and createPipelineLayout().

+ Here is the call graph for this function:

◆ ~RenderSystem()

ven::RenderSystem::~RenderSystem ( )
inline

Definition at line 33 of file RenderSystem.hpp.

References ven::Device::device(), m_device, and m_pipelineLayout.

+ Here is the call graph for this function:

◆ RenderSystem() [2/2]

ven::RenderSystem::RenderSystem ( const RenderSystem & )
delete

Member Function Documentation

◆ createPipeline()

void ven::RenderSystem::createPipeline ( VkRenderPass renderPass)
private

Definition at line 32 of file renderSystem.cpp.

References ven::Shaders::defaultPipelineConfigInfo(), and ven::SHADERS_BIN_PATH.

Referenced by RenderSystem().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ createPipelineLayout()

void ven::RenderSystem::createPipelineLayout ( VkDescriptorSetLayout globalSetLayout)
private

Definition at line 11 of file renderSystem.cpp.

Referenced by RenderSystem().

+ Here is the caller graph for this function:

◆ operator=()

RenderSystem & ven::RenderSystem::operator= ( const RenderSystem & )
delete

◆ renderObjects()

void ven::RenderSystem::renderObjects ( const FrameInfo & frameInfo) const

Definition at line 41 of file renderSystem.cpp.

References ven::FrameInfo::commandBuffer, ven::FrameInfo::globalDescriptorSet, ven::SimplePushConstantData::modelMatrix, and ven::FrameInfo::objects.

Referenced by ven::Engine::mainLoop().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_device

Device& ven::RenderSystem::m_device
private

Definition at line 45 of file RenderSystem.hpp.

Referenced by ~RenderSystem().

◆ m_pipelineLayout

VkPipelineLayout ven::RenderSystem::m_pipelineLayout {nullptr}
private

Definition at line 48 of file RenderSystem.hpp.

Referenced by ~RenderSystem().

◆ m_shaders

std::unique_ptr<Shaders> ven::RenderSystem::m_shaders
private

Definition at line 47 of file RenderSystem.hpp.


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