VenomEngine
Cross-Platform Modern Graphics Engine
|
Public Member Functions | |
VulkanShaderPipeline (const VulkanShaderPipeline &)=delete | |
VulkanShaderPipeline & | operator= (const VulkanShaderPipeline &)=delete |
VulkanShaderPipeline (VulkanShaderPipeline &&other) noexcept | |
VulkanShaderPipeline & | operator= (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< GraphicsCachedResource > | GetCachedObject (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 |
|
overridevirtual |
Implements venom::common::ShaderPipelineImpl.
|
overridevirtual |
Implements venom::common::ShaderPipelineImpl.
|
overridevirtual |
Implements venom::common::ShaderPipelineImpl.
|
overridevirtual |
Implements venom::common::ShaderPipelineImpl.
|
overridevirtual |
Implements venom::common::ShaderPipelineImpl.
|
overridevirtual |
Implements venom::common::ShaderPipelineImpl.
|
overridevirtual |
Implements venom::common::ShaderPipelineImpl.