mirror of
https://github.com/Kbz-8/42_vox.git
synced 2026-01-10 22:23:35 +00:00
26 lines
679 B
C++
26 lines
679 B
C++
#ifndef __SCOP_PIPELINE__
|
|
#define __SCOP_PIPELINE__
|
|
|
|
#include <kvf.h>
|
|
#include <Renderer/RenderCore.h>
|
|
|
|
namespace Scop
|
|
{
|
|
class Pipeline
|
|
{
|
|
public:
|
|
Pipeline() = default;
|
|
|
|
inline virtual bool BindPipeline(VkCommandBuffer command_buffer) noexcept { RenderCore::Get().vkCmdBindPipeline(command_buffer, GetPipelineBindPoint(), GetPipeline()); return true; }
|
|
inline virtual void EndPipeline([[maybe_unused]] VkCommandBuffer command_buffer) noexcept {}
|
|
|
|
virtual VkPipeline GetPipeline() const = 0;
|
|
virtual VkPipelineLayout GetPipelineLayout() const = 0;
|
|
virtual VkPipelineBindPoint GetPipelineBindPoint() const = 0;
|
|
|
|
virtual ~Pipeline() = default;
|
|
};
|
|
}
|
|
|
|
#endif
|