Abstract class for render system base. More...
#include <ABase.hpp>
Inheritance diagram for ven::ARenderSystemBase:
Collaboration diagram for ven::ARenderSystemBase: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.
Here is the call graph for this function:
|
delete |
|
delete |
|
protected |
Definition at line 35 of file base.cpp.
References ven::Shaders::defaultPipelineConfigInfo().
Referenced by ven::ObjectRenderSystem::ObjectRenderSystem(), and ven::PointLightRenderSystem::PointLightRenderSystem().
Here is the call graph for this function:
Here is the caller graph for this function:
|
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().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinenodiscardprotected |
|
inlinenodiscardprotected |
Definition at line 40 of file ABase.hpp.
References m_pipelineLayout.
Referenced by ven::ObjectRenderSystem::render(), and ven::PointLightRenderSystem::render().
Here is the caller graph for this function:
|
inlinenodiscardprotected |
Definition at line 41 of file ABase.hpp.
References m_shaders.
Referenced by ven::ObjectRenderSystem::render(), and ven::PointLightRenderSystem::render().
Here is the caller graph for this function:
|
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().