VenomEngine
Cross-Platform Modern Graphics Engine
Loading...
Searching...
No Matches
venom::vulkan::VulkanShaderPipeline Class Reference
+ Inheritance diagram for venom::vulkan::VulkanShaderPipeline:

Public Member Functions

 VulkanShaderPipeline (const VulkanShaderPipeline &)=delete
 
VulkanShaderPipelineoperator= (const VulkanShaderPipeline &)=delete
 
 VulkanShaderPipeline (VulkanShaderPipeline &&other) noexcept
 
VulkanShaderPipelineoperator= (VulkanShaderPipeline &&other) noexcept
 
vc::Error _LoadShader (const std::string &path) override
 
void SetMultiSamplingCount (const int samples) override
 
void _SetLineWidth (const float width) override
 
void _SetDepthTest (const bool enable) override
 
void _SetDepthWrite (const bool enable) override
 
vc::Error _ReloadShader () override
 
void _AddVertexBufferToLayout (const uint32_t vertexSize, const uint32_t binding, const uint32_t location, const uint32_t offset, const vc::ShaderVertexFormat format) override
 
vc::Error LoadShaders ()
 
VkPipeline GetPipeline () const
 
VkPipelineLayout GetPipelineLayout () const
 
const VkDescriptorSetLayout & GetDescriptorSetLayout () const
 
- Public Member Functions inherited from venom::common::ShaderPipelineImpl
vc::Error LoadShaderFromFile (const std::string &path)
 Load a shader from a base path (e.g. ./shader_mesh to load ./shader_mesh.vert and ./shader_mesh.frag) Loading is not done when this function is called, only paths are set.
 
void AddVertexBufferToLayout (const ShaderVertexFormat format, const uint32_t binding, const uint32_t location, const uint32_t offset)
 Add a vertex buffer to the layout.
 
void AddVertexBufferToLayout (const VertexBufferLayout &layout)
 Add a vertex buffer to the layout.
 
void AddVertexBufferToLayout (const std::vector< VertexBufferLayout > &layouts)
 Add a vertex buffer to the layout.
 
vc::Error SetLineWidth (const float width)
 
vc::Error SetDepthTest (const bool enable)
 
vc::Error SetDepthWrite (const bool enable)
 
void SetRenderingPipelineType (const RenderingPipelineType type)
 
void SetRenderingPipelineIndex (const uint32_t index)
 
- Public Member Functions inherited from venom::common::PluginObjectImpl
template<class T >
T * As ()
 
template<class T >
const T * As () const
 
template<class T >
T * ConstAs () const
 
template<class T >
T * RAs ()
 
template<class T >
const T * RAs () const
 
void IncRefCount ()
 
void DecRefCount ()
 
- Public Member Functions inherited from venom::common::IPluginObject
- Public Member Functions inherited from venom::common::GraphicsPluginObject
virtual void Destroy () override
 /!\ THIS FUNCTION MUST BE CALLED FOR DESTRUCTION, DO NOT USE delete
 
- Public Member Functions inherited from venom::common::PluginObject
 PluginObject (const PluginType type)
 
PluginType GetType () const override
 
template<class T >
T * DAs ()
 
template<class T >
const T * DAs () const
 
- Public Member Functions inherited from venom::common::GraphicsCachedResourceHolder
template<typename T >
T * As ()
 
void SetResource (const GraphicsCachedResourceHolder &resource)
 
void SetResource (const SPtr< GraphicsCachedResource > &resource)
 

Additional Inherited Members

- Static Public Member Functions inherited from venom::common::GraphicsPluginObject
static bool HasCachedObject (const std::string &path)
 Checks if an object is in the cache.
 
static SPtr< GraphicsCachedResourceGetCachedObject (const std::string &path)
 Gets a cached object from the graphics cache.
 
static const std::unordered_map< std::string, std::shared_ptr< GraphicsCachedResource > > & GetCachedObjects ()
 Gets all cached objects.
 
- Protected Member Functions inherited from venom::common::ShaderPipelineImpl
vc::Error _ReloadShaderAfterSettings ()
 
- Protected Member Functions inherited from venom::common::GraphicsCachedResourceHolder
const SPtr< GraphicsCachedResource > & _GetResourceToCache () const
 
SPtr< GraphicsCachedResource > & _GetResourceToCache ()
 
void _LoadFromCache (const SPtr< GraphicsCachedResource > &cache)
 
- Static Protected Member Functions inherited from venom::common::GraphicsPluginObject
static void _SetInCache (const std::string &path, const SPtr< GraphicsCachedResource > &object)
 Sets an object in the cache.
 
static void _SetCacheSize (size_t size)
 Adds cache size to avoid unnecessary additional allocations.
 
static void _AddCacheSize (size_t size)
 Adds cache size to avoid unnecessary additional allocations.
 
- Protected Attributes inherited from venom::common::ShaderPipelineImpl
RenderingPipelineType _renderingPipelineType
 
uint32_t _renderingPipelineIndex
 
bool _loaded
 
- Protected Attributes inherited from venom::common::GraphicsCachedResourceHolder
SPtr< GraphicsCachedResource_resource
 

Member Function Documentation

◆ _AddVertexBufferToLayout()

void venom::vulkan::VulkanShaderPipeline::_AddVertexBufferToLayout ( const uint32_t vertexSize,
const uint32_t binding,
const uint32_t location,
const uint32_t offset,
const vc::ShaderVertexFormat format )
overridevirtual

◆ _LoadShader()

vc::Error venom::vulkan::VulkanShaderPipeline::_LoadShader ( const std::string & path)
overridevirtual

◆ _ReloadShader()

vc::Error venom::vulkan::VulkanShaderPipeline::_ReloadShader ( )
overridevirtual

◆ _SetDepthTest()

void venom::vulkan::VulkanShaderPipeline::_SetDepthTest ( const bool enable)
overridevirtual

◆ _SetDepthWrite()

void venom::vulkan::VulkanShaderPipeline::_SetDepthWrite ( const bool enable)
overridevirtual

◆ _SetLineWidth()

void venom::vulkan::VulkanShaderPipeline::_SetLineWidth ( const float width)
overridevirtual

◆ SetMultiSamplingCount()

void venom::vulkan::VulkanShaderPipeline::SetMultiSamplingCount ( const int samples)
overridevirtual

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