46 lines
861 B
C++
46 lines
861 B
C++
#ifndef HGL_GRAPH_VULKAN_PIPELINE_INCLUDE
|
|
#define HGL_GRAPH_VULKAN_PIPELINE_INCLUDE
|
|
|
|
#include"VK.h"
|
|
|
|
VK_NAMESPACE_BEGIN
|
|
class Pipeline
|
|
{
|
|
VkPipeline pipeline;
|
|
|
|
public:
|
|
|
|
Pipeline(VkPipeline p){pipeline=p;}
|
|
virtual ~Pipeline();
|
|
};//class GraphicsPipeline
|
|
|
|
class Shader;
|
|
class VertexInput;
|
|
|
|
class PipelineCreater
|
|
{
|
|
VkGraphicsPipelineCreateInfo pipelineInfo;
|
|
|
|
VkPipelineVertexInputStateCreateInfo vis_create_info;
|
|
|
|
private:
|
|
|
|
const Shader * shader =nullptr;
|
|
const VertexInput * vertex_input=nullptr;
|
|
|
|
public:
|
|
|
|
PipelineCreater()
|
|
{
|
|
pipelineInfo.sType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO;
|
|
}
|
|
~PipelineCreater();
|
|
|
|
bool Set(const Shader *);
|
|
bool Set(const VertexInput *);
|
|
|
|
Pipeline *Create();
|
|
};//class PipelineCreater
|
|
VK_NAMESPACE_END
|
|
#endif//HGL_GRAPH_VULKAN_PIPELINE_INCLUDE
|