2023-11-15 00:06:00 +01:00
|
|
|
#pragma once
|
|
|
|
|
#include "Descriptor.h"
|
2024-06-09 12:20:04 +02:00
|
|
|
#include "Enums.h"
|
2023-11-15 00:06:00 +01:00
|
|
|
|
2024-06-09 12:20:04 +02:00
|
|
|
|
|
|
|
|
namespace Seele {
|
|
|
|
|
namespace Gfx {
|
|
|
|
|
class VertexInput {
|
|
|
|
|
public:
|
2024-01-19 09:49:42 +01:00
|
|
|
VertexInput(VertexInputStateCreateInfo createInfo);
|
|
|
|
|
virtual ~VertexInput();
|
|
|
|
|
const VertexInputStateCreateInfo& getInfo() const { return createInfo; }
|
2024-06-09 12:20:04 +02:00
|
|
|
|
|
|
|
|
private:
|
2024-01-19 09:49:42 +01:00
|
|
|
VertexInputStateCreateInfo createInfo;
|
|
|
|
|
};
|
2024-06-09 12:20:04 +02:00
|
|
|
class GraphicsPipeline {
|
|
|
|
|
public:
|
2024-04-19 18:23:36 +02:00
|
|
|
GraphicsPipeline(PPipelineLayout layout);
|
2023-11-15 00:06:00 +01:00
|
|
|
virtual ~GraphicsPipeline();
|
|
|
|
|
PPipelineLayout getPipelineLayout() const;
|
2024-06-09 12:20:04 +02:00
|
|
|
|
|
|
|
|
protected:
|
2024-04-19 18:23:36 +02:00
|
|
|
PPipelineLayout layout;
|
2023-11-15 00:06:00 +01:00
|
|
|
};
|
|
|
|
|
DEFINE_REF(GraphicsPipeline)
|
|
|
|
|
|
2024-06-09 12:20:04 +02:00
|
|
|
class ComputePipeline {
|
|
|
|
|
public:
|
2024-04-19 18:23:36 +02:00
|
|
|
ComputePipeline(PPipelineLayout layout);
|
2023-11-15 00:06:00 +01:00
|
|
|
virtual ~ComputePipeline();
|
|
|
|
|
PPipelineLayout getPipelineLayout() const;
|
2024-06-09 12:20:04 +02:00
|
|
|
|
|
|
|
|
protected:
|
2024-04-19 18:23:36 +02:00
|
|
|
PPipelineLayout layout;
|
2023-11-15 00:06:00 +01:00
|
|
|
};
|
|
|
|
|
DEFINE_REF(ComputePipeline)
|
2024-06-09 12:20:04 +02:00
|
|
|
} // namespace Gfx
|
|
|
|
|
} // namespace Seele
|