LkEngine 0.1.2
 
Loading...
Searching...
No Matches
OpenGLSwapChain.h
1#pragma once
2
3#include "LkEngine/Renderer/SwapChain.h"
4
5namespace LkEngine {
6
8 {
9 public:
10 OpenGLSwapChain() = default;
11 OpenGLSwapChain(uint32_t* InWidth, uint32_t* InHeight, const bool InVSync);
12
13 virtual void Initialize() override;
14 virtual void InitializeSurface(GLFWwindow* GlfwWindowHandle) override;
15 virtual void Destroy() override;
16
17 virtual void OnResize(const uint32_t NewWidth, const uint32_t NewHeight) override;
18
19 virtual void BeginFrame() override;
20 virtual void Present() override;
21
22 FORCEINLINE uint32_t GetImageCount() const { return m_ImageCount; }
23 FORCEINLINE virtual uint32_t GetWidth() const override { return m_Width; }
24 FORCEINLINE virtual uint32_t GetHeight() const override { return m_Height; }
25 FORCEINLINE virtual uint32_t GetCurrentBufferIndex() const override;
26
27 void Create(uint32_t* InWidth, uint32_t* InHeight, const bool InVSync);
28
29 private:
30 uint32_t m_Width{};
31 uint32_t m_Height{};
32 uint32_t m_ImageCount = 0;
33
35 };
36
37}
Definition SwapChain.h:13
Definition OpenGLSwapChain.h:8
virtual void Initialize() override
Initialize object.
Definition OpenGLSwapChain.cpp:14
virtual void Destroy() override
Destroy object, releasing all resources.
Definition OpenGLSwapChain.cpp:29
#define LCLASS(Class)
Definition CoreMacros.h:226
Definition Asset.h:11