2019-04-09 02:02:43 +08:00
|
|
|
|
#ifndef HGL_GRAPH_VULKAN_COMMAND_BUFFER_INCLUDE
|
|
|
|
|
#define HGL_GRAPH_VULKAN_COMMAND_BUFFER_INCLUDE
|
|
|
|
|
|
|
|
|
|
#include"VK.h"
|
|
|
|
|
VK_NAMESPACE_BEGIN
|
2019-04-18 22:10:24 +08:00
|
|
|
|
class RenderPass;
|
|
|
|
|
class Framebuffer;
|
|
|
|
|
class Pipeline;
|
|
|
|
|
class VertexInput;
|
2019-04-16 13:21:21 +08:00
|
|
|
|
|
2019-04-18 22:10:24 +08:00
|
|
|
|
class CommandBuffer
|
|
|
|
|
{
|
|
|
|
|
VkDevice device;
|
|
|
|
|
VkCommandPool pool;
|
|
|
|
|
VkCommandBuffer cmd_buf;
|
2019-04-16 13:21:21 +08:00
|
|
|
|
|
2019-04-18 22:10:24 +08:00
|
|
|
|
VkClearValue clear_values[2];
|
|
|
|
|
VkRect2D render_area;
|
2019-04-16 13:21:21 +08:00
|
|
|
|
|
2019-04-18 22:10:24 +08:00
|
|
|
|
public:
|
2019-04-16 13:21:21 +08:00
|
|
|
|
|
2019-04-18 22:10:24 +08:00
|
|
|
|
CommandBuffer(VkDevice dev,VkCommandPool cp,VkCommandBuffer cb);
|
|
|
|
|
~CommandBuffer();
|
2019-04-16 02:23:03 +08:00
|
|
|
|
|
2019-04-18 22:10:24 +08:00
|
|
|
|
void SetRenderArea(const VkRect2D &ra){render_area=ra;}
|
2019-04-16 02:23:03 +08:00
|
|
|
|
|
2019-04-18 22:10:24 +08:00
|
|
|
|
bool Bind(RenderPass *rp,Framebuffer *fb,Pipeline *p);
|
|
|
|
|
bool Bind(VertexInput *vi);
|
|
|
|
|
};//class CommandBuffer
|
2019-04-09 02:02:43 +08:00
|
|
|
|
VK_NAMESPACE_END
|
|
|
|
|
#endif//HGL_GRAPH_VULKAN_COMMAND_BUFFER_INCLUDE
|