LkEngine 0.1.2
 
Loading...
Searching...
No Matches
OpenGLRenderPass.h
1#pragma once
2
4#include "LkEngine/Renderer/RenderPass.h"
5
6
7namespace LkEngine {
8
15 {
16 public:
17 LOpenGLRenderPass(const FRenderPassSpecification& InSpecification);
18 LOpenGLRenderPass() = delete;
19 ~LOpenGLRenderPass() = default;
20
21 FORCEINLINE virtual FRenderPassSpecification& GetSpecification() override
22 {
23 return Specification;
24 }
25
26 FORCEINLINE virtual const FRenderPassSpecification& GetSpecification() const override
27 {
28 return Specification;
29 }
30
31 virtual TObjectPtr<LFramebuffer> GetTargetFramebuffer() const override;
32 virtual TObjectPtr<LPipeline> GetPipeline() const override;
33
34 virtual void SetInput(std::string_view Name, TObjectPtr<LImage> Image) override;
35 virtual void SetInput(std::string_view Name, TObjectPtr<LTexture2D> Texture) override;
36 virtual void SetInput(std::string_view Name, TObjectPtr<LUniformBuffer> UniformBuffer) override;
37
38 virtual TObjectPtr<LImage> GetOutput(const uint32_t Index) override;
39 virtual TObjectPtr<LImage> GetDepthOutput() override;
40 virtual uint32_t GetFirstSetIndex() const override;
41
42 virtual bool Validate() override;
43 virtual void Bake() override;
44 virtual bool Baked() const override;
45 virtual void Prepare() override;
46 virtual void Terminate() override;
47
48 virtual bool IsInvalidated(const uint32_t Set, const uint32_t Binding) const override;
49
50 private:
51 FRenderPassSpecification Specification{};
52
54 };
55
56}
Core header.
Definition OpenGLRenderPass.h:15
Definition RenderPass.h:60
Definition ObjectPtr.h:102
#define LCLASS(Class)
Definition CoreMacros.h:226
Definition Asset.h:11
Definition RenderPass.h:51