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
class
Image
;
14
19
class
WindowGraphicsBinding
{
20
public
:
21
~WindowGraphicsBinding
() {};
22
virtual
bool
Initialize(
Window
*window) = 0;
23
virtual
void
WaitForRenderingFence() = 0;
24
virtual
void
ImmediateSetContext() = 0;
25
virtual
void
ImmediateSwapBuffers() = 0;
26
virtual
bool
AcquireNextImage() = 0;
27
virtual
void
SubmitCommandBufferNoSynchronization(
GraphicsAPI::CommandBuffer
* buffer) = 0;
28
virtual
void
SubmitCommandBufferForCurrentFrame(
GraphicsAPI::CommandBuffer
* buffer) = 0;
29
virtual
bool
PresentSwapchain() = 0;
30
virtual
RenderPass
* GetRenderPass()
const
= 0;
31
virtual
Framebuffer
* GetCurrentFramebuffer()
const
= 0;
32
virtual
Image
* GetCurrentSwapchainImage()
const
= 0;
33
virtual
Image
* GetSwapchainImage(uint32_t index)
const
= 0;
34
virtual
uint32_t GetCurrentSwapchainIndex()
const
= 0;
35
virtual
uint32_t GetCurrentImageIndex()
const
= 0;
36
virtual
uint32_t GetCurrentFrame()
const
= 0;
37
virtual
uint32_t GetMaxFramesInFlight()
const
= 0;
38
virtual
void
Resize(uint32_t width, uint32_t height) = 0;
39
virtual
GraphicsAPI::Format GetSwapchainFormat()
const
= 0;
40
};
41
};
Grindstone::GraphicsAPI::CommandBuffer
Definition
CommandBuffer.hpp:109
Grindstone::GraphicsAPI::Framebuffer
Definition
Framebuffer.hpp:16
Grindstone::GraphicsAPI::Image
Definition
Image.hpp:49
Grindstone::GraphicsAPI::RenderPass
Definition
RenderPass.hpp:10
Grindstone::GraphicsAPI::WindowGraphicsBinding
Definition
WindowGraphicsBinding.hpp:19
Grindstone::Window
Definition
Window.hpp:12
sources
code
Common
Graphics
WindowGraphicsBinding.hpp
Generated by
1.17.0