Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
WindowGraphicsBinding.hpp
1#pragma once
2
3namespace Grindstone {
4 class Window;
5}
6
7namespace Grindstone::GraphicsAPI {
8 class CommandBuffer;
9 class RenderPass;
10 class Framebuffer;
11
17 public:
19 virtual bool Initialize(Window *window) = 0;
20 virtual void ImmediateSetContext() = 0;
21 virtual void ImmediateSwapBuffers() = 0;
22 virtual bool AcquireNextImage() = 0;
23 virtual void SubmitCommandBuffer(CommandBuffer* buffers) = 0;
24 virtual bool PresentSwapchain() = 0;
25 virtual RenderPass* GetRenderPass() = 0;
26 virtual Framebuffer* GetCurrentFramebuffer() = 0;
27 virtual uint32_t GetCurrentImageIndex() = 0;
28 virtual uint32_t GetMaxFramesInFlight() = 0;
29 virtual void Resize(uint32_t width, uint32_t height) = 0;
30 };
31};
Definition CommandBuffer.hpp:21
Definition Framebuffer.hpp:19
Definition RenderPass.hpp:27
Definition WindowGraphicsBinding.hpp:16
Definition Window.cs:7