Abstract class for render system base. More...
#include <ABase.hpp>
Public Member Functions | |
ARenderSystemBase (Device &device) | |
virtual | ~ARenderSystemBase () |
ARenderSystemBase (const ARenderSystemBase &)=delete | |
ARenderSystemBase & | operator= (const ARenderSystemBase &)=delete |
ARenderSystemBase (ARenderSystemBase &&)=delete | |
ARenderSystemBase & | operator= (ARenderSystemBase &&)=delete |
virtual void | render (const FrameInfo &frameInfo) const =0 |
Protected Member Functions | |
void | createPipelineLayout (VkDescriptorSetLayout globalSetLayout, uint32_t pushConstantSize) |
void | createPipeline (VkRenderPass renderPass, const std::string &shadersVertPath, const std::string &shadersFragPath, bool isLight) |
Device & | getDevice () const |
VkPipelineLayout | getPipelineLayout () const |
const std::unique_ptr< Shaders > & | getShaders () const |
Protected Attributes | |
std::unique_ptr< DescriptorSetLayout > | renderSystemLayout |
Private Attributes | |
Device & | m_device |
VkPipelineLayout | m_pipelineLayout {nullptr} |
std::unique_ptr< Shaders > | m_shaders |
|
inlineexplicit |
|
inlinevirtual |
Definition at line 25 of file ABase.hpp.
References ven::Device::device(), m_device, and m_pipelineLayout.
|
delete |
|
delete |
|
protected |
Definition at line 35 of file base.cpp.
References ven::Shaders::defaultPipelineConfigInfo().
Referenced by ven::ObjectRenderSystem::ObjectRenderSystem(), and ven::PointLightRenderSystem::PointLightRenderSystem().
|
protected |
Definition at line 3 of file base.cpp.
References ven::DescriptorSetLayout::Builder::addBinding(), ven::DescriptorSetLayout::Builder::build(), ven::Device::device(), m_device, m_pipelineLayout, and renderSystemLayout.
Referenced by ven::ObjectRenderSystem::ObjectRenderSystem(), and ven::PointLightRenderSystem::PointLightRenderSystem().
|
inlinenodiscardprotected |
|
inlinenodiscardprotected |
Definition at line 40 of file ABase.hpp.
References m_pipelineLayout.
Referenced by ven::ObjectRenderSystem::render(), and ven::PointLightRenderSystem::render().
|
inlinenodiscardprotected |
Definition at line 41 of file ABase.hpp.
References m_shaders.
Referenced by ven::ObjectRenderSystem::render(), and ven::PointLightRenderSystem::render().
|
delete |
|
delete |
|
pure virtual |
Implemented in ven::ObjectRenderSystem, and ven::PointLightRenderSystem.
|
private |
Definition at line 47 of file ABase.hpp.
Referenced by createPipelineLayout(), getDevice(), and ~ARenderSystemBase().
|
private |
Definition at line 48 of file ABase.hpp.
Referenced by createPipelineLayout(), getPipelineLayout(), and ~ARenderSystemBase().
|
private |
Definition at line 49 of file ABase.hpp.
Referenced by getShaders().
|
protected |
Definition at line 43 of file ABase.hpp.
Referenced by createPipelineLayout(), and ven::ObjectRenderSystem::render().