Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
GLWindowGraphicsBinding.hpp
1#pragma once
2
3#ifdef _WIN32
4 #include <Windows.h>
5#endif
6
7#include <Common/Window/Window.hpp>
8#include <Common/Graphics/WindowGraphicsBinding.hpp>
9
10namespace Grindstone::GraphicsAPI::OpenGL {
12 public:
14
15 // Inherited via WindowGraphicsBinding
16 virtual bool Initialize(Window* newWindow) override;
17 virtual void ImmediateSetContext() override;
18 virtual void ImmediateSwapBuffers() override;
19 virtual bool AcquireNextImage() override;
20 virtual void SubmitCommandBuffer(CommandBuffer* buffers) override;
21 virtual bool PresentSwapchain() override;
22 virtual Grindstone::GraphicsAPI::RenderPass* GetRenderPass() override;
23 virtual Grindstone::GraphicsAPI::Framebuffer* GetCurrentFramebuffer() override;
24 virtual uint32_t GetCurrentImageIndex() override;
25 virtual uint32_t GetMaxFramesInFlight() override;
26 virtual void Resize(uint32_t width, uint32_t height) override;
27 public:
28 void ShareLists(WindowGraphicsBinding* bindingToCopyFrom);
29 private:
30 Window* window;
31#ifdef _WIN32
32 HWND windowHandle;
33 HGLRC windowRenderContext;
34 HDC windowDeviceContext;
35#endif
36 };
37}
Definition CommandBuffer.hpp:21
Definition Framebuffer.hpp:19
Definition GLWindowGraphicsBinding.hpp:11
Definition RenderPass.hpp:27
Definition WindowGraphicsBinding.hpp:16
Definition Window.cs:7