Skip to content

KDGpu::VulkanRenderPassCommandRecorder

Module: Vulkan

VulkanRenderPassCommandRecorder.

#include <vulkan_render_pass_command_recorder.h>

Inherits from KDGpu::ApiRenderPassCommandRecorder

Public Functions

Name
VulkanRenderPassCommandRecorder(VkCommandBuffer _commandBuffer, VkRect2D _renderArea, VulkanResourceManager * _vulkanResourceManager, const Handle< Device_t > & _deviceHandle)
virtual void setPipeline(const Handle< GraphicsPipeline_t > & pipeline)
virtual void setVertexBuffer(uint32_t index, const Handle< Buffer_t > & buffer, DeviceSize offset)
virtual void setIndexBuffer(const Handle< Buffer_t > & buffer, DeviceSize offset, IndexType indexType)
virtual void setBindGroup(uint32_t group, const Handle< BindGroup_t > & bindGroup, const Handle< PipelineLayout_t > & pipelineLayout, const std::vector< uint32_t > & dynamicBufferOffsets)
virtual void setViewport(const Viewport & viewport)
virtual void setScissor(const Rect2D & scissor)
virtual void setStencilReference(StencilFaceFlags faceMask, int reference)
virtual void draw(const DrawCommand & drawCommand)
virtual void draw(const std::vector< DrawCommand > & drawCommands)
virtual void drawIndexed(const DrawIndexedCommand & drawCommand)
virtual void drawIndexed(const std::vector< DrawIndexedCommand > & drawCommands)
virtual void drawIndirect(const DrawIndirectCommand & drawCommand)
virtual void drawIndirect(const std::vector< DrawIndirectCommand > & drawCommands)
virtual void drawIndexedIndirect(const DrawIndexedIndirectCommand & drawCommand)
virtual void drawIndexedIndirect(const std::vector< DrawIndexedIndirectCommand > & drawCommands)
virtual void drawMeshTasks(const DrawMeshCommand & drawCommand)
virtual void drawMeshTasks(const std::vector< DrawMeshCommand > & drawCommands)
virtual void drawMeshTasksIndirect(const DrawMeshIndirectCommand & drawCommand)
virtual void drawMeshTasksIndirect(const std::vector< DrawMeshIndirectCommand > & drawCommands)
virtual void pushConstant(const PushConstantRange & constantRange, const void * data)
virtual void nextSubpass()
virtual void end()

Public Attributes

Name
VkCommandBuffer commandBuffer
VkRect2D renderArea
VulkanResourceManager * vulkanResourceManager
Handle< Device_t > deviceHandle
Handle< GraphicsPipeline_t > pipeline
bool firstPipelineWasSet

Public Functions Documentation

function VulkanRenderPassCommandRecorder

1
2
3
4
5
6
explicit VulkanRenderPassCommandRecorder(
    VkCommandBuffer _commandBuffer,
    VkRect2D _renderArea,
    VulkanResourceManager * _vulkanResourceManager,
    const Handle< Device_t > & _deviceHandle
)

function setPipeline

1
2
3
virtual void setPipeline(
    const Handle< GraphicsPipeline_t > & pipeline
)

Reimplements: KDGpu::ApiRenderPassCommandRecorder::setPipeline

function setVertexBuffer

1
2
3
4
5
virtual void setVertexBuffer(
    uint32_t index,
    const Handle< Buffer_t > & buffer,
    DeviceSize offset
)

Reimplements: KDGpu::ApiRenderPassCommandRecorder::setVertexBuffer

function setIndexBuffer

1
2
3
4
5
virtual void setIndexBuffer(
    const Handle< Buffer_t > & buffer,
    DeviceSize offset,
    IndexType indexType
)

Reimplements: KDGpu::ApiRenderPassCommandRecorder::setIndexBuffer

function setBindGroup

1
2
3
4
5
6
virtual void setBindGroup(
    uint32_t group,
    const Handle< BindGroup_t > & bindGroup,
    const Handle< PipelineLayout_t > & pipelineLayout,
    const std::vector< uint32_t > & dynamicBufferOffsets
)

Reimplements: KDGpu::ApiRenderPassCommandRecorder::setBindGroup

function setViewport

1
2
3
virtual void setViewport(
    const Viewport & viewport
)

Reimplements: KDGpu::ApiRenderPassCommandRecorder::setViewport

function setScissor

1
2
3
virtual void setScissor(
    const Rect2D & scissor
)

Reimplements: KDGpu::ApiRenderPassCommandRecorder::setScissor

function setStencilReference

1
2
3
4
virtual void setStencilReference(
    StencilFaceFlags faceMask,
    int reference
)

Reimplements: KDGpu::ApiRenderPassCommandRecorder::setStencilReference

function draw

1
2
3
virtual void draw(
    const DrawCommand & drawCommand
)

Reimplements: KDGpu::ApiRenderPassCommandRecorder::draw

function draw

1
2
3
virtual void draw(
    const std::vector< DrawCommand > & drawCommands
)

Reimplements: KDGpu::ApiRenderPassCommandRecorder::draw

function drawIndexed

1
2
3
virtual void drawIndexed(
    const DrawIndexedCommand & drawCommand
)

Reimplements: KDGpu::ApiRenderPassCommandRecorder::drawIndexed

function drawIndexed

1
2
3
virtual void drawIndexed(
    const std::vector< DrawIndexedCommand > & drawCommands
)

Reimplements: KDGpu::ApiRenderPassCommandRecorder::drawIndexed

function drawIndirect

1
2
3
virtual void drawIndirect(
    const DrawIndirectCommand & drawCommand
)

Reimplements: KDGpu::ApiRenderPassCommandRecorder::drawIndirect

function drawIndirect

1
2
3
virtual void drawIndirect(
    const std::vector< DrawIndirectCommand > & drawCommands
)

Reimplements: KDGpu::ApiRenderPassCommandRecorder::drawIndirect

function drawIndexedIndirect

1
2
3
virtual void drawIndexedIndirect(
    const DrawIndexedIndirectCommand & drawCommand
)

Reimplements: KDGpu::ApiRenderPassCommandRecorder::drawIndexedIndirect

function drawIndexedIndirect

1
2
3
virtual void drawIndexedIndirect(
    const std::vector< DrawIndexedIndirectCommand > & drawCommands
)

Reimplements: KDGpu::ApiRenderPassCommandRecorder::drawIndexedIndirect

function drawMeshTasks

1
2
3
virtual void drawMeshTasks(
    const DrawMeshCommand & drawCommand
)

Reimplements: KDGpu::ApiRenderPassCommandRecorder::drawMeshTasks

function drawMeshTasks

1
2
3
virtual void drawMeshTasks(
    const std::vector< DrawMeshCommand > & drawCommands
)

Reimplements: KDGpu::ApiRenderPassCommandRecorder::drawMeshTasks

function drawMeshTasksIndirect

1
2
3
virtual void drawMeshTasksIndirect(
    const DrawMeshIndirectCommand & drawCommand
)

Reimplements: KDGpu::ApiRenderPassCommandRecorder::drawMeshTasksIndirect

function drawMeshTasksIndirect

1
2
3
virtual void drawMeshTasksIndirect(
    const std::vector< DrawMeshIndirectCommand > & drawCommands
)

Reimplements: KDGpu::ApiRenderPassCommandRecorder::drawMeshTasksIndirect

function pushConstant

1
2
3
4
virtual void pushConstant(
    const PushConstantRange & constantRange,
    const void * data
)

Reimplements: KDGpu::ApiRenderPassCommandRecorder::pushConstant

function nextSubpass

1
virtual void nextSubpass()

Reimplements: KDGpu::ApiRenderPassCommandRecorder::nextSubpass

function end

1
virtual void end()

Reimplements: KDGpu::ApiRenderPassCommandRecorder::end

Public Attributes Documentation

variable commandBuffer

1
VkCommandBuffer commandBuffer { VK_NULL_HANDLE };

variable renderArea

1
VkRect2D renderArea {};

variable vulkanResourceManager

1
VulkanResourceManager * vulkanResourceManager { nullptr };

variable deviceHandle

1
Handle< Device_t > deviceHandle;

variable pipeline

1
Handle< GraphicsPipeline_t > pipeline;

variable firstPipelineWasSet

1
bool firstPipelineWasSet { false };

Updated on 2024-11-25 at 00:15:04 +0000