LkEngine 0.1.2
 
Loading...
Searching...
No Matches
PipelineSpecification.h
1#pragma once
2
4
5#include "TextureEnum.h"
6#include "VertexBuffer.h"
7#include "Framebuffer.h"
8#include "Shader.h"
9
10
11namespace LkEngine {
12
13 class LFramebuffer;
14 class LShader;
15 struct FVertexBufferLayout;
16
21 {
22 TObjectPtr<LShader> Shader = nullptr;
23 TObjectPtr<LFramebuffer> TargetFramebuffer = nullptr;
24
25 /* TODO: Investigate the forward declaration of FVertexBufferLayout here. */
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 header.
Definition ObjectPtr.h:102
Definition Asset.h:11
Definition PipelineSpecification.h:21
Definition VertexBufferLayout.h:124