Grindstone Game Engine
v0.2.0
An open source game engine and toolkit.
Toggle main menu visibility
Loading...
Searching...
No Matches
WindowGraphicsBinding.hpp
1
#pragma once
2
3
#include <Common/Graphics/Formats.hpp>
4
5
namespace
Grindstone {
6
class
Window
;
7
}
8
9
namespace
Grindstone::GraphicsAPI {
10
class
CommandBuffer
;
11
class
RenderPass
;
12
class
Framebuffer
;
13
18
class
WindowGraphicsBinding
{
19
public
:
20
~WindowGraphicsBinding
() {};
21
virtual
bool
Initialize(
Window
*window) = 0;
22
virtual
void
WaitForRenderingFence() = 0;
23
virtual
void
ImmediateSetContext() = 0;
24
virtual
void
ImmediateSwapBuffers() = 0;
25
virtual
bool
AcquireNextImage() = 0;
26
virtual
void
SubmitCommandBufferNoSynchronization(
GraphicsAPI::CommandBuffer
* buffer) = 0;
27
virtual
void
SubmitCommandBufferForCurrentFrame(
GraphicsAPI::CommandBuffer
* buffer) = 0;
28
virtual
bool
PresentSwapchain() = 0;
29
virtual
RenderPass
* GetRenderPass() = 0;
30
virtual
Framebuffer
* GetCurrentFramebuffer() = 0;
31
virtual
uint32_t GetCurrentImageIndex() = 0;
32
virtual
uint32_t GetMaxFramesInFlight() = 0;
33
virtual
void
Resize(uint32_t width, uint32_t height) = 0;
34
virtual
GraphicsAPI::Format GetSwapchainFormat()
const
= 0;
35
};
36
};
Grindstone::GraphicsAPI::CommandBuffer
Definition
CommandBuffer.hpp:109
Grindstone::GraphicsAPI::Framebuffer
Definition
Framebuffer.hpp:16
Grindstone::GraphicsAPI::RenderPass
Definition
RenderPass.hpp:10
Grindstone::GraphicsAPI::WindowGraphicsBinding
Definition
WindowGraphicsBinding.hpp:18
Grindstone::Window
Definition
Window.hpp:12
sources
code
Common
Graphics
WindowGraphicsBinding.hpp
Generated by
1.17.0