2
3
4
5
9#include "Resources/Shader/ShaderHelper.h"
14
15
19
20
21
27
28
29
30
31
32
33
#define SPICES_PROFILE_ZONEN(...)
#define SPICES_PROFILE_ZONE
#define VK_CHECK(expr)
Vulkan Check macro. Verify Vulkan API Effectiveness.
static bool Load(const std::string &fileName, ShaderStage stage, Shader *outShader)
Public called API, it is entrance.
ShaderLoader Class. This class only defines static function for load data from shader file.
std::shared_ptr< VulkanShaderModule > & GetShaderModule()
Get VulkanShaderModule.
ShaderStage m_ShaderStage
Shader stage.
std::shared_ptr< VulkanShaderModule > m_ShaderModule
VulkanShaderModule.
Shader(const std::string &name, ShaderStage stage)
Constructor Function.
Shader(const std::string &name, const std::string &stage)
Constructor Function.
virtual ~Shader()=default
Destructor Function.
Shader()=default
Constructor Function.
std::string m_ShaderName
Shader name.
void Deserialize()
Deserialize the data from a disk file to this class.
VulkanComputePipeline(VulkanState &vulkanState, const std::string &pipelineName, const ShaderMap &shaders, const PipelineConfigInfo &config)
Constructor Function. Create VkPipeline.
This class is a wrapper of Compute Pipeline.
VulkanIndirectMeshPipelineNV(VulkanState &vulkanState, const std::string &pipelineName, const std::string &materialName, const std::vector< VkPipeline > &pipelineRef, const PipelineConfigInfo &config)
Constructor Function. Create VkPipeline.
This class is a wrapper of Indirect Mesh Pipeline.
VulkanIndirectPipelineNV(VulkanState &vulkanState, const std::string &pipelineName, const std::string &materialName, const std::vector< VkPipeline > &pipelineRef, const PipelineConfigInfo &config)
Constructor Function. Create VkPipeline.
This class is a wrapper of Indirect Pipeline.
VulkanMeshPipeline(VulkanState &vulkanState, const std::string &pipelineName, const ShaderMap &shaders, const PipelineConfigInfo &config)
Constructor Function. Create VkPipeline.
This class is a wrapper of Mesh Pipeline.
VulkanObject(VulkanState &vulkanState)
Constructor Function. Init member variables.
VulkanObject Class. This class defines the basic behaves of VulkanObject. When we create an new Vulka...
VulkanPipeline(VulkanState &vulkanState)
Constructor Function.
virtual ~VulkanPipeline() override
Destructor Function.
static void DefaultPipelineConfigInfo(PipelineConfigInfo &configInfo)
Create a PipelineConfigInfo with default parameter.
VulkanPipeline(VulkanState &vulkanState, const std::string &pipelineName, const ShaderMap &shaders, const PipelineConfigInfo &config)
Constructor Function. Create VkPipeline.
This class is a wrapper of VkPipelineLayout and VkPipeline.
VulkanRayTracingPipeline(VulkanState &vulkanState, const std::string &pipelineName, const ShaderMap &shaders, const PipelineConfigInfo &config)
Constructor Function. Create VkPipeline.
This class is a wrapper of RayTracing Pipeline.
This Class is a Wrapper of VkShaderModule.
ShaderStage
enum of shader stage.
This struct included all infos usd to create a VkPipeline.
This struct contains all Vulkan object in used global.