Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
Grindstone::GraphicsAPI::CommandBuffer Class Referenceabstract

#include <CommandBuffer.hpp>

Classes

struct  CommandBufferSecondaryInfo
struct  CreateInfo

Public Member Functions

virtual void BeginCommandBuffer ()=0
virtual void BindRenderPass (RenderPass *renderPass, Framebuffer *framebuffer, Grindstone::Math::IntRect2D rect, ClearColor *colorClearValues, uint32_t colorClearCount, ClearDepthStencil depthStencilClearValue)=0
virtual void UnbindRenderPass ()=0
virtual void BeginRendering (const char *name, Grindstone::Math::IntRect2D rect, RenderAttachment *colorAttachments, uint32_t colorAttachmentCount, RenderAttachment *depthAttachment=nullptr, RenderAttachment *stencilAttachment=nullptr, float *debugColor=nullptr)=0
virtual void EndRendering ()=0
virtual void BeginDebugLabelSection (const char *name, float color[4]=nullptr)=0
virtual void EndDebugLabelSection ()=0
virtual void BindGraphicsDescriptorSet (const GraphicsAPI::PipelineLayout *pipelineLayout, const DescriptorSet *const *descriptorSets, uint32_t descriptorSetOffset, uint32_t descriptorSetCount)=0
virtual void BindComputeDescriptorSet (const GraphicsAPI::PipelineLayout *pipelineLayout, const DescriptorSet *const *descriptorSets, uint32_t descriptorSetOffset, uint32_t descriptorSetCount)=0
virtual void ClearAttachments (ClearAttachment *attachments, uint32_t attachmentCount, ClearRect *rects, uint32_t rectCount)=0
virtual void CopyBufferRegions (GraphicsAPI::Buffer *srcBuffer, GraphicsAPI::Buffer *dstBuffer, BufferCopyRegion *regions, uint32_t regionCount)=0
virtual void CopyBufferRegion (GraphicsAPI::Buffer *srcBuffer, GraphicsAPI::Buffer *dstBuffer, uint64_t size=0, uint32_t srcOffset=0, uint32_t dstOffset=0)=0
virtual void BindCommandBuffers (CommandBuffer **commandBuffers, uint32_t commandBuffersCount)=0
virtual void SetViewport (float offsetX, float offsetY, float width, float height, float depthMin=0.0f, float depthMax=1.0f)=0
virtual void SetScissor (int32_t offsetX, int32_t offsetY, uint32_t width, uint32_t height)=0
virtual void SetDepthBias (float biasConstantFactor, float biasSlopeFactor)=0
virtual void BindGraphicsPipeline (const GraphicsPipeline *pipeline)=0
virtual void BindComputePipeline (const ComputePipeline *pipeline)=0
virtual void BindVertexArrayObject (const VertexArrayObject *vertexArrayObject)=0
virtual void BindVertexBuffers (const Buffer *const *vb, uint32_t count)=0
virtual void BindIndexBuffer (Buffer *indexBuffer)=0
virtual void DrawVertices (uint32_t vertexCount, uint32_t firstInstance, uint32_t instanceCount, int32_t vertexOffset)=0
virtual void DrawIndices (uint32_t firstIndex, uint32_t indexCount, uint32_t firstInstance, uint32_t instanceCount, int32_t vertexOffset)=0
virtual void DispatchCompute (uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)=0
virtual void BlitImage (Grindstone::GraphicsAPI::Image *src, Grindstone::GraphicsAPI::Image *dst, Grindstone::GraphicsAPI::ImageLayout oldLayout, Grindstone::GraphicsAPI::ImageLayout newLayout, Grindstone::GraphicsAPI::TextureFilter filter, Grindstone::Math::IntBox3D srcRegion, Grindstone::Math::IntBox3D dstRegion)=0
virtual void PipelineBarrier (const GraphicsAPI::BufferBarrier *bufferBarriers, uint32_t bufferBarrierCount, const GraphicsAPI::ImageBarrier *imageBarriers, uint32_t imageBarrierCount)=0
virtual void EndCommandBuffer ()=0

Detailed Description

CommandBuffers are an object that hold a list of commands to be executed by your graphics card. After recording any commands you wish to use for a frame, you can send them to a queue to be processed.


The documentation for this class was generated from the following file: