LkEngine
0.1.2
Loading...
Searching...
No Matches
PipelineSpecification.h
1
#pragma once
2
3
#include "
LkEngine/Core/Core.h
"
4
5
#include "TextureEnum.h"
6
#include "VertexBuffer.h"
7
#include "Framebuffer.h"
8
#include "Shader.h"
9
10
11
namespace
LkEngine
{
12
13
class
LFramebuffer;
14
class
LShader;
15
struct
FVertexBufferLayout;
16
20
struct
FPipelineSpecification
21
{
22
TObjectPtr<LShader>
Shader =
nullptr
;
23
TObjectPtr<LFramebuffer>
TargetFramebuffer =
nullptr
;
24
25
/* TODO: Investigate the forward declaration of FVertexBufferLayout here. */
26
FVertexBufferLayout
Layout;
27
FVertexBufferLayout
InstanceLayout;
28
FVertexBufferLayout
BoneInfluenceLayout;
29
30
EPrimitiveTopology Topology = EPrimitiveTopology::Triangles;
31
EDepthCompareOperator DepthOperator = EDepthCompareOperator::GreaterOrEqual;
32
33
bool
BackfaceCulling =
true
;
34
bool
DepthTest =
true
;
35
bool
DepthWrite =
true
;
36
bool
Wireframe =
false
;
37
float
LineWidth = 1.0f;
38
39
std::string DebugName{};
40
41
ERendererAPI RenderAPI = ERendererAPI::None;
42
43
FORCEINLINE
void
SetLayout(
const
FVertexBufferLayout
& InLayout)
44
{
45
Layout = InLayout;
46
}
47
};
48
49
}
Core.h
Core header.
LkEngine::TObjectPtr
Definition
ObjectPtr.h:102
LkEngine
Definition
Asset.h:11
LkEngine::FPipelineSpecification
Definition
PipelineSpecification.h:21
LkEngine::FVertexBufferLayout
Definition
VertexBufferLayout.h:124
LkEngine
Source
LkEngine
Renderer
PipelineSpecification.h
Generated by
1.12.0