LkEngine
0.1.2
Loading...
Searching...
No Matches
RenderCommandBuffer.h
1
#pragma once
2
3
#include "
Pipeline.h
"
4
#include "RenderCommandQueue.h"
5
6
namespace
LkEngine
{
7
11
class
LRenderCommandBuffer
:
public
LObject
12
{
13
public
:
14
virtual
~LRenderCommandBuffer
() =
default
;
15
16
virtual
void
Begin() = 0;
17
virtual
void
End() = 0;
18
virtual
void
Submit() = 0;
19
20
virtual
float
GetExecutionGpuTime(
const
uint32_t FrameIndex,
const
uint32_t QueryIndex = 0)
const
= 0;
21
virtual
const
FPipelineStatistics
& GetPipelineStatistics(
const
uint32_t FrameIndex)
const
= 0;
22
23
virtual
uint32_t BeginTimestampQuery() = 0;
24
virtual
void
EndTimestampQuery(
const
uint32_t QueryID) = 0;
25
26
static
TObjectPtr<LRenderCommandBuffer>
Create(
const
uint32_t Count = 0,
const
std::string& InDebugName =
""
);
27
static
TObjectPtr<LRenderCommandBuffer>
CreateFromSwapChain(
const
std::string& InDebugName =
""
);
28
29
private
:
30
LCLASS
(
LRenderCommandBuffer
);
31
};
32
33
34
}
Pipeline.h
Pipeline.
LkEngine::LObject
Definition
Object.h:46
LkEngine::LRenderCommandBuffer
Definition
RenderCommandBuffer.h:12
LkEngine::TObjectPtr
Definition
ObjectPtr.h:102
LCLASS
#define LCLASS(Class)
Definition
CoreMacros.h:226
LkEngine
Definition
Asset.h:11
LkEngine::FPipelineStatistics
Definition
Pipeline.h:21
LkEngine
Source
LkEngine
Renderer
RenderCommandBuffer.h
Generated by
1.12.0